1. 程式人生 > >安卓開發騰訊X5遇到IllegalArgumentException解決方法

安卓開發騰訊X5遇到IllegalArgumentException解決方法

在我的開發中突然遇到了一個問題如下圖,查了好久才發現是問題的來源是WebView中包含一個ZoomButtonsController,當使用web.getSettings().setBuiltInZoomControls(true);啟用後,使用者一旦觸控式螢幕幕,就會出現縮放控制圖示。如果圖示自動消失前退出當前Activity的話,就會報上面的這些異常。

這裡寫圖片描述

經過上網查詢資料,結合自己的最後終於找到了解決方法那就是在就是退出activist時ondestroy()處理不對,原來是直接 webView.destroy();後來的解決方法是

@override
protected void onDestroy() {
Handler handler = new
MyHandler(this); handler.sendEmptyMessage(0xfff); super.onDestroy(); } class MyHandler extends Handler { SoftReference<Activity> softActivity; public MyHandler(Activity activity) { softActivity = new SoftReference<>(activity); } @Override public void handleMessage(Message msg) { super
.handleMessage(msg); if (mWebView != null) { mWebView.getSettings().setBuiltInZoomControls(true); mWebView.setVisibility(View.GONE); mWebView.removeAllViews(); mWebView.destroy(); mWebView = null; } } }