- 避免在Activity或者Fragment中过多的传递Context对象
- 千万不要创建或者保存Context和View为静态变量 (重要的事情要加粗)
- 记得在 onPause()/ onDestroy() 方法中解除一些监听事件(比如地图定位结果监听,EventBus监听事件),还有释放一些引用的资源。
- 不要在Avitivity的AsyncTask或后台线程中存放强引用。因为你的Acitivity关闭时,这些异步操作可能还在进行,会持有这个acitivity,导致内存泄漏。
- 尽量使用Context-application
getApplicationContext()
替换Activity的Context。 - 尽量避免使用静态内部类,在里面存储activity或者View会导致内存泄漏,如果非要存储使用弱引用是个不错的解决办法。
原文 http://blog.flyou.ren/?p=260