Я создаю приложение для живых обоев с libgdx, в котором я изменяю активы в зависимости от времени. Для. например, с 6 утра до 6 вечера. У меня есть «утренняя графика», после чего у меня есть «вечерняя графика» с 18:00 до 6:00.Memory Leak LibGDX ANdroid
Я так структурировали активов выглядит следующим образом
У меня есть 12 статических массивов типа AtlasRegion 1 статическая переменная Texture область и 1 статическая переменная текстуры.
У меня есть две статические функции loadMorning() и loadEvening() для загрузки активов.
В funcions загружаю следующим
Для всех массивов, если они не равны нулю у array.clear() затем загрузить регионы. Утилизируйте переменную TextureRegion и установите для переменной текстуры значение null до сброса их значений.
Дело в том, что происходит в том, что после каждого изменения активов памяти, кажется, растет Как perepective пользователя Я использую это приложение, чтобы увидеть Запоминающее устройство
https://play.google.com/store/apps/details?id=mem.usage&hl=en
Когда я начинаю мое приложение для в первый раз .. это показывает, как 68MB в приложении,
день1 Утро STATs
День 1
ID Heap Size Allocated Free %Used #Objects
1 10.812 MB 3.186 MB 7.626 MB 29.47% 45,405
Pss Private Private Swapped Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 0 0 0 0 16620 4285 38
Dalvik Heap 8692 8604 0 0 11072 3293 7779
Dalvik Other 1374 1216 0 0
Stack 96 96 0 0
Other dev 33016 4908 4 0
.so mmap 1266 692 136 0
.apk mmap 160 0 116 0
.dex mmap 287 20 8 0
Other mmap 5 4 0 0
Unknown 1431 1412 0 0
TOTAL 46327 16952 264 0 27692 7578 7817
Objects
Views: 1 ViewRootImpl: 0
AppContexts: 3 Activities: 0
Assets: 2 AssetManagers: 2
Local Binders: 11 Proxy Binders: 19
Death Recipients: 0
OpenSSL Sockets: 0
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
день 1 Вечерние Статистика
ADB журнал после того, как вечерние активы загружены
D/dalvikvm (2451): GC_FOR_ALLOC освободил 1619K, 71% бесплатно 3281K/11072K, остановился 14ms, общая 15ms
Д/dalvikvm (2451): GC_FOR_ALLOC освободил 1517K, 71% бесплатно 3281K/11072K, остановился 11ms, общая 11ms
Я/dalvikvm-куча (2451): Grow кучи (осколочный случае) 6.548MB для распределения 1331595 байт
D/dalvikvm (2451): GC_CONCURRENT освободил 1862K, 67% бесплатно 4127K/12376K, приостановлен + 2 мсок 2ms , всего 13 мс
Д/dalvikvm (2 451): GC_EXPLICIT освободил 2384K, 74% бесплатно 3268K/12376K, остановился 2ms + 3ms, общая 27ms
ID Heap Size Allocated Free %Used #Objects
1 10.816 MB 3.191 MB 7.625 MB 29.50% 45,525
This adb log right after change
Pss Private Private Swapped Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 0 0 0 0 16728 4346 29
Dalvik Heap 1654 1576 0 0 11076 3348 7728
Dalvik Other 1435 1296 0 0
Stack 100 100 0 0
Other dev 63332 32644 4 0
.so mmap 1110 692 116 0
.apk mmap 7 0 4 0
.dex mmap 586 20 368 0
Other mmap 5 4 0 0
Unknown 1504 1488 0 0
TOTAL 69733 37820 492 0 27804 7694 7757
Objects
Views: 1 ViewRootImpl: 0
AppContexts: 3 Activities: 0
Assets: 2 AssetManagers: 2
Local Binders: 10 Proxy Binders: 17
Death Recipients: 0
OpenSSL Sockets: 0
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0
память показывает в приложении теперь 117MB Это продолжает расти, на следующее утро размер, показанный в приложении, составляет около 150 МБ.
Мне нужны указатели, где лучше понять это.
Замечание .. Надеюсь, это не потребуется. Благодаря !! – windwaker
Теперь проблема в том, как перезапустить обои :( – windwaker