殺そうとするWebビューがありますが、それは難しい野郎です! 私はもう試した:
私の活動で:
@Override
protected void onStop() {
if (webView_ != null) {
webView_.finish(getApplicationContext());
webView_.destroy();
webView_ = null;
}
super.onStop();
}
そして私のウェブビューで:
public void finish(Context context) {
stopLoading();
pauseTimers();
if (alarm_ != null)
alarm_.cancelAlarm(context);
if (webViewErrorHandler_ != null)
webViewErrorHandler_.removeCallbacks(reloadRunnable_);
if (requestQueue_ != null) {
requestQueue_.clear();
requestQueue_ = null;
}
callHiddenWebViewMethod("onPause");
}
private void callHiddenWebViewMethod(String name){
if( this != null ){
try {
Method method = WebView.class.getMethod(name);
method.invoke(this);
} catch (NoSuchMethodException e) {
Log.e("MYWEBVIEW", "No such method: " + name);
} catch (IllegalAccessException e) {
Log.e("MYWEBVIEW", "Illegal Access: " + name);
} catch (InvocationTargetException e) {
Log.e("MYWEBVIEW", "Invocation Target Exception: " + name);
}
}
}
しかし、デバッガーで見ると、まだこの WebView のスレッドが実行されています!
そして、特に onPause の後に動作させたいことを知っておく必要があります;)