内存概念-内存泄露、内存溢出
内存泄漏(Memory leak)
程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法在使用该内存单元,直到程序结束,这是内存泄漏。
内存溢出(out of memory)
程序向系统申请的内存空间超出了系统能给的,比如一车最多能坐5个人,你却非要塞下10个,车就挤爆了。
注意:大量的内存泄漏会导致内存溢出,因为内存出现泄漏,则内存得不到释放,系统分配的内存越来越少,最后导致溢出。
内存数据收集及字段解释
adb shell dumpsys meminfo
adb shell dumpsys meminfo <包名>
#查看该应用详细的内存占用
adb shell cat /proc/<pid>/smaps