美文网首页
WXApiImplV10.activityCb内存泄漏处理

WXApiImplV10.activityCb内存泄漏处理

作者: android_zyq | 来源:发表于2019-06-18 21:02 被阅读0次

    集成了LeakCanary对APP进行内存泄漏监控后,发现有一个WXApiImplV10.activityCb这样的日志,是在登录页面发生的。


    image.png

    产生的原因

    在发生此种问题的地方,你一定可以找到这样的代码,而且你对IWXAPI并不陌生。是的,这是微信的sdk。

    IWXAPI wxapi = WXAPIFactory.createWXAPI(this, Constants.APP_ID,
                        false);
    

    目前流行的应用都少不了三方登录,分享,当然都集成了微信的sdk,IWXAPI初始化的时候将context传进去了,看到这里别以为是微信的锅,是我们自己没调用销毁的方法。

    解决方法

    1.其实很简单,只需要在onDestroy()中调用wxapi.detach();

     @Override
        protected void onDestroy() {
            if(wxapi != null){
                //微信api释放
                wxapi.detach();
            }
            super.onDestroy();
        }
    

    2.当然还有第二个方案,context传入Application微信也是支持的(还有的wxapi直接在Application中声明创建,整个app都用一个wxapi)

    WXAPIFactory.createWXAPI(this.getApplicationContext(), Constants.APP_ID,
                        false);
    

    相关文章

      网友评论

          本文标题:WXApiImplV10.activityCb内存泄漏处理

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