Я работаю в небольшой компании по разработке игр для Android, и в настоящее время у меня возникла проблема. Я запускаю довольно стандартную машину с Windows 7 x64, с Eclipse и Android SDK.
Я читал вывод LogCat для моей программы, задаваясь вопросом, почему моя игра даже не отображается. Я быстро увидел, что вся куча растет, и подумал, что у меня может быть слишком много текстур / слишком много текстур и т. Д. Я определил проблему с загрузкой текстур, затем я начал использовать DDMS и заметил, что моя куча не вырастет выше 19 МБ. Я вырезал пару текстур и снова попытался собрать и запустить. К моему шоку, размер кучи постоянно не увеличивался до 6,6 МБ. У кого-нибудь есть предложения?
tl; dr: Моя куча увеличивалась до 19 МБ, а затем выходила из строя, поэтому я удалил текстуры, которые требовали больших затрат памяти, чтобы сохранить в куче менее 19 МБ, и теперь размер моей кучи не превышает 6,6 МБ.
РЕДАКТИРОВАТЬ: вывод logcat при удалении более крупных текстур:
08-19 19:19:53.744: DEBUG/dalvikvm(4699): GC_FOR_MALLOC freed 91 objects / 514016 bytes in 49ms 08-19 19:19:54.184: DEBUG/dalvikvm(4699): GC_FOR_MALLOC freed 104 objects / 494088 bytes in 48ms 08-19 19:19:54.404: WARN/ActivityManager(59): Launch timeout has expired, giving up wake lock! 08-19 19:19:54.764: DEBUG/dalvikvm(4699): GC_FOR_MALLOC freed 85 objects / 384664 bytes in 49ms 08-19 19:19:54.935: WARN/ActivityManager(59): Activity idle timeout for HistoryRecord{4612eec8 com.wickeyware.zombiearcher.android/.AndroidGame} 08-19 19:19:55.234: DEBUG/dalvikvm(4699): GC_FOR_MALLOC freed 104 objects / 504648 bytes in 47ms 08-19 19:19:55.875: DEBUG/dalvikvm(4699): GC_FOR_MALLOC freed 85 objects / 505712 bytes in 55ms 08-19 19:19:56.905: DEBUG/dalvikvm(4699): GC_FOR_MALLOC freed 104 objects / 522392 bytes in 50ms 08-19 19:19:57.535: DEBUG/dalvikvm(4699): GC_FOR_MALLOC freed 56 objects / 388896 bytes in 50ms 08-19 19:19:57.695: INFO/WindowManager(59): WIN DEATH: Window{4606a8a0 com.android.launcher/com.android.launcher2.Launcher paused=false} 08-19 19:19:57.705: INFO/ActivityManager(59): Process com.android.launcher (pid 4669) has died. 08-19 19:19:57.825: INFO/ActivityManager(59): Low Memory: No more background processes. 08-19 19:19:57.865: INFO/dalvikvm(4699): dvmDdmHandleHpsgChunk(when 1, what 0, heap 0) 08-19 19:19:58.575: DEBUG/ddm-heap(4699): Heap GC request 08-19 19:19:58.685: DEBUG/dalvikvm(4699): GC_EXPLICIT freed 48 objects / 313440 bytes in 106ms 08-19 19:20:01.015: INFO/ActivityManager(59): Process jp.co.omronsoft.openwnn (pid 4677) has died. 08-19 19:20:01.095: WARN/ActivityManager(59): Scheduling restart of crashed service jp.co.omronsoft.openwnn/.OpenWnnJAJP in 5000ms 08-19 19:20:01.106: INFO/ActivityManager(59): Low Memory: No more background processes. 08-19 19:20:03.105: INFO/ActivityManager(59): Process com.wickeyware.zombiearcher.android (pid 4699) has died. 08-19 19:20:03.155: INFO/WindowManager(59): WIN DEATH: Window{46138b68 SurfaceView paused=false} 08-19 19:20:03.275: INFO/WindowManager(59): WIN DEATH: Window{4612d530 com.wickeyware.zombiearcher.android/com.wickeyware.zombiearcher.android.AndroidGame paused=false} 08-19 19:20:03.425: INFO/ActivityManager(59): Start proc com.android.launcher for activity com.android.launcher/com.android.launcher2.Launcher: pid=4710 uid=10025 gids={} 08-19 19:20:03.425: INFO/ActivityManager(59): Low Memory: No more background processes. 08-19 19:20:03.775: INFO/UsageStats(59): Unexpected resume of com.android.launcher while already resumed in com.wickeyware.zombiearcher.android 08-19 19:20:03.904: INFO/ActivityThread(4710): Publishing provider com.android.launcher2.settings: com.android.launcher2.LauncherProvider 08-19 19:20:04.005: DEBUG/dalvikvm(4710): GC_EXTERNAL_ALLOC freed 985 objects / 73440 bytes in 58ms 08-19 19:20:04.465: WARN/InputManagerService(59): Got RemoteException sending setActive(false) notification to pid 4699 uid 10036 08-19 19:20:04.984: INFO/ActivityManager(59): Displayed activity com.android.launcher/com.android.launcher2.Launcher: 1703 ms (total 20584 ms) 08-19 19:20:06.124: INFO/ActivityManager(59): Start proc jp.co.omronsoft.openwnn for service jp.co.omronsoft.openwnn/.OpenWnnJAJP: pid=4718 uid=10023 gids={}