当 Activity 销毁的时候,如果 Handler 对象持有 Activity 的引用,导致 Activity 对象不能被销毁,一直存留在内存中,导致内存越来越大,导致 OOM ;
解决办法:
1、通过设置 Handler 对象为静态的
2、使用弱引用解决内存泄漏,但是需要等到 Handler 对象中的任务都执行完,才会释放 activity 内存,不如直接 static 释放的快
3、在 onDestory() 方法里面移除所有未执行的任务
其中第一种和第二种是通过 Java 垃圾回收方面来解决的
而第三种是则是从业务层面解决问题,当我退出的时候,我要清理掉所有任务。