Android Studio 轮询中 什么方式释放webview 比较合适
时间: 2023-08-05 17:58:31 浏览: 130
android中webview的使用
3星 · 编辑精心推荐
在 Android Studio 轮询中释放 WebView,可以在 `onPause()` 方法中暂停 WebView 的渲染和 JavaScript 执行,并且将 WebView 从布局中移除,在 `onResume()` 方法中重新加载 WebView。具体的实现方式如下:
```java
public class MainActivity extends AppCompatActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = findViewById(R.id.webView);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("https://www.google.com");
}
@Override
protected void onResume() {
super.onResume();
if (mWebView != null) {
mWebView.onResume();
mWebView.resumeTimers();
mWebView.setVisibility(View.VISIBLE);
}
}
@Override
protected void onPause() {
super.onPause();
if (mWebView != null) {
mWebView.onPause();
mWebView.pauseTimers();
mWebView.setVisibility(View.GONE);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mWebView != null) {
mWebView.loadUrl("about:blank");
mWebView.stopLoading();
mWebView.setWebChromeClient(null);
mWebView.setWebViewClient(null);
mWebView.destroy();
}
}
}
```
在上述代码中,当 Activity 进入后台时,调用 `onPause()` 方法暂停 WebView 的渲染和 JavaScript 执行,并且将 WebView 从布局中移除;当 Activity 进入前台时,调用 `onResume()` 方法恢复 WebView 的渲染和 JavaScript 执行,并且将 WebView 加载到布局中。
在 Activity 销毁时,调用 `onDestroy()` 方法释放 WebView 相关的资源,包括停止 WebView 加载、清除 WebView 中的缓存和历史记录、销毁 WebView 等。
阅读全文