GC回收机制,某对象不再持有任何的引用的时候才会回收。
提问:如果某对象被别的对象引用了,就不能被GC回收?
错误。因为存在软引用、弱引用对象,是可以被回收的。
正确。该对象一直往上追溯引用,能追溯到GC Root引用点才不能被GC回收。
可以作为GC Root引用点的:
- java堆中引用的对象
- 方法区中的静态引用指向的对象
- 方法区常量引用指向的对象
- Native方法中JNI引用的对象
- Thread—活着的线程
命令行:adb shell dumpsys meminfo package
AndroidStudio: View->Tool Windows->Profile
MAT打开,需要将AndroidStudio导出的hprof转换下。
hprof-conv -z src/*.hprof dest
前后两个页面的hprof对比