내 안드로이드 게임이 배열 목록의 레벨 레이아웃 데이터를 보유하고 있습니다. 내 레벨 로더를 테스트하는 중 때때로 필자의 레벨이로드되지 않아 검은 색 화면 만 남기고 있다는 것을 알았습니다. 처음에는 재로드가 아닌 텍스처라고 생각했지만, ArrayList와는 별도의 객체를 그려 냄으로써이를 증명했습니다. 다음으로 Log 태그를 사용하여 ArrayList의 크기를 확인합니다. 집을 누르고 다시 응용 프로그램을 열면 로그 태그는 제 데이터가 손실되었다는 것을 의미하는 0의 크기를 반환하기 시작했습니다. 이제는 onPause가 호출 될 때마다 파일에서 내 레벨 데이터를로드하고 싶지 않으므로 ArrayList에있는 데이터를 유지하는 방법이 있습니까?일시 중지시 ArrayList가 보존되지 않습니다
0
A
답변
1
문제는 가비지 수집 중 (예 : 일시 중지가 메모리 문제로 인해 파괴 됨)입니다. 활동에 onSaveIntstanceState 및 onRestoreInstanceState 메소드를 구현하여 문제가 해결되는지 확인하십시오.
Num1은 지적할만한 가치가 있다고 생각하는 의견에 좋은 점을 남겼습니다. 번들에는 소량의 데이터가 포함되어야합니다. ArrayList가 큰 경우 그 이유는 아마도 귀하의 액티비티가 같은 위치에서 가비지 수집되는 이유 일 것입니다. 그렇다면 두 가지 옵션 중 하나가 있습니다. 디스크에 데이터를 명시 적으로 onDestroy 메소드에 저장하십시오 (디스크에 쓰기 만하면됩니다). 또는 작업이 다시 집중 될 때 다시 계산하십시오. 이것은 단지 생각할 좋은 것입니다.
관련 문제
- 1. jQuery 일시 중지시 순환이 재개되지 않음
- 2. 데이터가 autoit에 보존되지 않습니다.
- 3. iPhone - 일시 중지시 응용 프로그램 종료
- 4. Android가 일시 중지시 비트 맵을 삭제합니다.
- 5. 일시 중지시 MediaPlayer 시작 위치 업데이트
- 6. 앱 일시 중지시 RSS 리더 피드 업데이트
- 7. 일시 중지시 안드로이드 응용 프로그램 살짝 잡기
- 8. ArrayList가 Android를 채우지 않습니다.
- 9. Arraylist가 작동하지 않습니다.
- 10. arraylist가 올바르게 업데이트되지 않습니다.
- 11. 미디어 플레이어 바운드 서비스가 스레드 일시 중지시 UI 잠그기
- 12. 에 ArrayList가 포함되어 있지 않습니다.
- 13. 일시 중지시 WinJS 응용 프로그램이 계속 실행 중입니다.
- 14. 다음 활동을 계획하면서 일시 중지시 n 활동을 설정하는 방법은 무엇입니까?
- 15. 인텐 트 엑스트라가 startActivity와 함께 보존되지 않습니다.
- 16. Grails에 내 DB 데이터가 보존되지 않습니다.
- 17. 목표 C 변수 값이 보존되지 않습니다.
- 18. 스레드 중지시 창 닫기
- 19. 스타일 사용 중지시 감지
- 20. PHP 세션 변수가 보존되지 않았습니다.
- 21. 사전에 보존되지 않은 데이터 유형
- 22. C# ASP arraylist가 지워짐
- 23. Outlook - 매크로를 사용하여 전자 메일을 이동해도 수신일이 보존되지 않습니다.
- 24. arraylist가 채워지는지 확인하는 방법
- 25. ArrayList가 null로 바뀝니다.
- 26. 안드로이드에서 번들의 ArrayList가 지원됩니까?
- 27. ArrayList가 동적으로 변경됩니까?
- 28. Android : ArrayList가 지워지지 않음
- 29. 응용 프로그램 중지시 정지 위치
- 30. 정렬 된 ArrayList가 표시되지 않습니까?
번들에서 다시 가져 오려면해야 할 특별한 앱이 다시 시작될 때 – Jack
업데이트 된 답변보기 –
번들 자체가 어느 시점에 휴지통이 될 것이라고 생각하지만 맞습니다. 그 일이 일어나면 onCreate가 다시 호출 될 것이라고 생각합니까? – Jack