美文网首页工作生活
止泄药(LeakCanray)——Android 内存泄露

止泄药(LeakCanray)——Android 内存泄露

作者: AlphaGuo | 来源:发表于2019-07-03 17:55 被阅读0次

    参考:
    LeakCanray原理
    https://mp.weixin.qq.com/s/PgY_ZVsqLOr4-xMZNBSVSA
    https://www.jianshu.com/p/49239eac7a76

    快奔溃了,弄了三天内存泄露了还是没有解决完,总结一下解决了的吧。

    1. Stack<Activity> activityStack代码里面每个Activity都添加了这个栈,却没有退栈所以Activity一直被挟持,一直泄。
      解决方案:每个Activity的 onDestroy里面使用这个finishActivity(this) 进行释放Activity
       public void finishActivity(Activity activity) {
            if (activity != null) {
                activityStack.remove(activity);
                activity.finish();
                activity = null;
            }
        }
    

    2.有个单例的PreferenceHelper,里面的context是静态的,一直挟持所用到的Activity,真是一直爽啊,所以把传进去的context.getApplicationContext()进行解决,所有静态的context都使用context.getApplicationContext()进行优化即可。

    3.fragement的泄露还在进行中。。。

    相关文章

      网友评论

        本文标题:止泄药(LeakCanray)——Android 内存泄露

        本文链接:https://www.haomeiwen.com/subject/jeychctx.html