
概述Android内存泄漏是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。内存泄露的根本原因在于不再被使用的对象,因为一些不当的操作导致其被GC root持有无法被回收,最终导致内存泄漏。Android虚拟机的垃圾回收采用的是根搜索算法,GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉。但是当对象不再被应用程序使用,仍然被生命周期长的对象引用,垃圾回收器无法回收。常见的Android内存泄漏原因及解决方案包括:外部类结束生命周期时未清空Handler内消息队列:在onDestroy()方法中移除所有回调和消息。Context导致内存泄漏:根据场景确定使用Activity的Context还是