文章目录
前言
每次新点开的页面,即使出栈之后,数据也没有被清除,这样就越积愈多。
参考:https://segmentfault.com/a/1190000005087620
避免在 activity 或 fragment 之外传递 Context 对象。
永远永远不要创建静态的 Context 或 View 对象,或者将二者存储于静态变量中。这是内存泄露的首要标志。
private static TextView textView; //DO NOT DO THIS private static
Context context; //DO NOT DO THIS总是记得在 onPause() 或 onDestroy() 方法中的取消注册监听器(listeners)。这包括 Android
监听器,以及位置服务、显示管理器服务,还有自定义的一些监听器。不要在 AsyncTasks(异步任务)或后台线程中存储指向 activities 的强引用。Activity 可能会关闭,但是
AsyncTask 会继续执行,一直保存着对该 activity 的引用。如果可以,使用 Context-application (getApplicationContext()),而不是某个 activity 的
Context 对象。尽力避免使用非静态的内部类。将引用存储至某个 Activity 或 View 内部会导致内存泄露。如果不得不存储引用,请使用
WeakReference。