最近开始使用leakCanary为app进行内存泄露的检测
遇到了webview.mContext导致activity内存泄露
(不过在android 6.0的机子上没有遇到这样的问题)
经过搜索,在http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=516 里找到了原因
面对这样的问题,我们暂时可以通过在layout中放置webview的地方用framelayout代替
<FrameLayout
android:id="@+id/webview_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
再动态将新建的webview加进framelayout中
frameLayout = (FrameLayout) findViewById(R.id.webview_container);
webView = new WebView(getApplicationContext());
frameLayout.addView(webView);
在activity onDestroy的时候将webview与activity解除关联,我们可以从文档看出原因 <