Android App 内存泄露之Handler
Handler也是造成内存泄露的一个重要的源头,主要Handler属于TLS(Thread Local Storage)变量,生命周期和Activity是不一致的
,Handler引用Activity会存在内存泄露。
看一下如下代码
/** * * 实现的主要功能。 * @version 1.0.0 * @author Abay Zhuang <br/> * Create at 2014-7-28 */ public class HandlerActivity extends Activity { private final Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { // ... } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mHandler.sendMessageDelayed(Message.obtain(), 60000); //just finish this activity finish(); } }
是否您以前也是这样用的呢。
理解Android App内存泄露:Handler引起的泄露及解决方案

本文探讨了Android中Handler如何导致内存泄露,重点在于Handler生命周期与Activity不一致,以及如何通过静态内部类和弱引用来避免此类问题。文章提供了修改代码的示例,帮助开发者理解并解决Handler内存泄露的问题。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



