【发布时间】:2014-03-07 22:14:12
【问题描述】:
我在这里阅读了各种帖子并尝试使用所有提示,但仍然失败。应用程序的每个实例都在不断积累更多内存。这是代码sn-p。有什么想法吗?只需使用 WebView 启动页面...
private class MyWV extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
Log.d("MyWV", "shouldOverrideUrlLoading, url = " +url);
return false;
}
}
@Override
public void onCreate(Bundle icicle) {
Log.d(TAG, "onCreate");
Toast.makeText(getApplicationContext(), "Please wait...", Toast.LENGTH_LONG).show();
super.onCreate(icicle);
setContentView(R.layout.main);
mFL = (FrameLayout) findViewById(R.id.base_layout);
mWebView = new WebView(this);
mFL.addView(mWebView);
mWebView.setWebViewClient(new MyWV());
Log.e(TAG,"onCreate: Calling setJavaScriptEnabled...");
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.yahoo.com");
}
@Override
protected void onDestroy() {
Log.d(TAG, "onDestroy");
mFL.removeAllViews();
mWebView.removeAllViews();
mWebView.clearHistory();
mWebView.loadUrl("about:blank");
mWebView.freeMemory();
mWebView.destroy();
mWebView = null;
super.onDestroy();
}
【问题讨论】:
-
无论如何记住 onDestroy 被调用(不总是被调用)当应用程序完成“永远”(被操作系统杀死)而不是当屏幕旋转时(在这种情况下调用 onCreate)
标签: android memory webview memory-leaks