adnroid 中最容易找成内存泄露的主要原因是 Context 的使用。当你把Activity 对象的引用传递给 生命周期更长的对象时,就会找成内存泄露 .
交给谁 会照成内存泄露呢?
1. 长时间运行的工作线程,
所以在你使用多线程的时候一定要注意,千万不要把占用大量资源的 Activity 的引用传递给线程,如果线程一定要持有Activity的引用,记得在Activity 销毁时
及时 停止线程的运行,先等待线程运行完毕 ,线程对象置 为 null 然后才能销毁 Activity ,不然容易内存泄露。
2 Application
Application 的生命周期要大于 Actiivty 千万记得在onStop 或者 onDestory的时候 把 Application 持有的Activity 引用置为 null ,不然会照成内存泄露.
3 ,静态对象
当你把 Context 传递给静态对象时,你就要小心内存泄露了。尽量少用 包含大量资源的静态对象。如果一定要使用,要记得资源回收处理.