首页 > 移动平台 > 详细

Android 开发中踩过的坑之七:尽量避免使用Acitivity当做Context

时间:2015-08-06 22:43:07      阅读:268      评论:0      收藏:0      [点我收藏+]

这坑容易埋, 却不容易发现. 


比如启动一个页面, 需要用到一个单例的工具类Utils, 初始化Utils需要一个Context参数, 直接传入Activity.this. 

然后这个单例的Utils就会一直持有Activity.this, 导致整个Acitivity不能被GC. 而如果代码中大量的使用Utils, 又不能确认到底谁最先初始化了Utils, 使得内存泄露成了灵异事件难以发现. 

所以, 正确的使用方式是: activity.this.getApplicationContext();

getApplicationContext()事实上的生命周期和当前应用的生命周期一样, 当前应用在运行时, 它不需要也不应该被回收, 所以可以放心的使用. 

Android 开发中踩过的坑之七:尽量避免使用Acitivity当做Context

原文:http://my.oschina.net/u/1393188/blog/488840

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!