參考:
LeakCanray原理
https://mp.weixin.qq.com/s/PgY_ZVsqLOr4-xMZNBSVSA
http://www.reibang.com/p/49239eac7a76
快奔潰了稚矿,弄了三天內(nèi)存泄露了還是沒有解決完瑞妇,總結(jié)一下解決了的吧孕似。
- Stack<Activity> activityStack代碼里面每個Activity都添加了這個棧旅东,卻沒有退棧所以Activity一直被挾持鲁捏,一直泄软舌。
解決方案:每個Activity的 onDestroy里面使用這個finishActivity(this) 進(jìn)行釋放Activity
public void finishActivity(Activity activity) {
if (activity != null) {
activityStack.remove(activity);
activity.finish();
activity = null;
}
}
2.有個單例的PreferenceHelper锰茉,里面的context是靜態(tài)的设联,一直挾持所用到的Activity缕碎,真是一直爽啊褥影,所以把傳進(jìn)去的context.getApplicationContext()進(jìn)行解決,所有靜態(tài)的context都使用context.getApplicationContext()進(jìn)行優(yōu)化即可咏雌。
3.fragement的泄露還在進(jìn)行中凡怎。。赊抖。