1.Handler使用方式升级版: 使用弱引用 -解决静态内部类访问外部类 2. 我们在handlerMessage中,给TextView设置值,请注意红色方框内的弱引用使用方式 创建一个静态Handler内部类,然后对Handler持有的外部对象使用弱 ...
1.Handler使用方式升级版: 使用弱引用 -解决静态内部类访问外部类
2. 我们在handlerMessage中,给TextView设置值,请注意红色方框内的弱引用使用方式
创建一个静态Handler内部类,然后对Handler持有的外部对象使用弱引用,这样在回收时也可以回收Handler持有的对象,解决了我们内存泄漏以及访问外部对象的问题。
但是,这样子还不够完美: 我们退出MainActivity后,Looper线程的消息队列中还是可能会有待处理的消息,啥意思呢?就是我们MainActivity退出后,消息队列里还有消息,即我们的例子中,20秒后,还收到消息队列中的消息。
更完美的做法:我们应该在Activity关闭的时候,移除消息队列中的消息。
原标题:Handler造成的内存泄漏(二)
关键词:内存
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。