如何检测内存泄露,如何进行内存优化?
答:RAM和ROM 是什么? 内存溢出更多的再java内存中。
Android系统为每一个应用程序都设置了一个硬性的DalvikHeap Size最大限制阈值,这个阈值在不同的设备上会因为RAM大小不同而各有差异
检测内存泄漏 Android Studio上可以通过Memory Monitor查看内存中Dalvik Heap的实时变化
工具: 1 MAT 内存分析工具(排除弱软引用)。 LeakCanary工具
开发中如何避免内存泄漏
其实避免Activity的泄漏的方式可以总结为:
不要让生命周期长于Activity的对象持有到Activity的引用。
· 注意单例模式和静态变量是否会持有对Context的引用;
· 注意监听器的注销;(在Android程序里面存在很多需要register与unregister的监听器,我们需要确保在合适的时候及时unregister那些监听器。)
· 不要在Thread或AsyncTask中的引用Activity;
多用一些弱引用 避免使用强引用。