Я провел тест на Android 4.4 Kit Kat, где выделил 100 МБ, проверил память процесса через adb shell dumpsys meminfo -d
и увидел разбивку Dalvik Heap
: Heap Size
и Heap Alloc
увеличились.
Я также проверил системную память через adb shell cat /proc/meminfo
и увидел, сколько у нее свободной памяти.
Затем я освободил память (и даже вызвал System.gc()
после).
Затем я снова проверил память процесса и увидел, что в Dalvik Heap
разбивка Heap Size
остается прежней, Heap Alloc
уменьшается и Heap Free
увеличивается!
Я также запустил adb shell cat /proc/meminfo
и увидел, что система не освободила память!Я не понимаю, что происходит.
Когда я делал один и тот же тест на Android 7.1 и Android 5.0, память освобождалась после освобождения!