我在Android 4.4 Kit Kat上进行了测试,分配了100MB内存,并通过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上进行了相同的测试时,在释放内存时就将其回收!