Android的匿名Handler类引起的内存泄露
2013-05-16 01:13 清炒白菜 阅读(385) 评论(0) 编辑 收藏 举报具体原因参考这篇博客
http://blog.chengyunfeng.com/?p=468
上文中虽然给出了解决方案, 但是在实际操作的时候, 还是遇到一些问题。
比如在Activity中的Field字段, 原先用匿名handler类 , 是可以直接访问的, 现在改了之后, 在MyHandler类中不能直接访问了。
暂时想到的办法是, 强制转换WeakReference<Activity> mActivity中保存的类型。
Activity act = mActivity.get()
if ( act == null) return;
MainActivity actNew = (MainActivity)act;
这样可以用actNew来访问MainActivity中的Field字段了。