WebView を使用して、アプリのアクティビティの 1 つにインターネット コンテンツを表示します。
問題は、ユーザーがこのアクティビティから切り替えると、WebView のスレッドが実行され続けることです!
問題のあるスレッドは次のとおりです。
Thread [<17> WebViewCoreThread] (Running)
Thread [<25> CookieSyncManager] (Running)
Thread [<19> http0] (Running)
Thread [<29> http1] (Running)
Thread [<31> http2] (Running)
Thread [<33> http3] (Running)
これらのスレッドのそれぞれを一時停止し、ビジー状態を確認します。
Thread [<17> WebViewCoreThread] (Suspended)
Object.wait(long, int) line: not available [native method]
MessageQueue(Object).wait() line: 288
MessageQueue.next() line: 148
Looper.loop() line: 110
WebViewCore$WebCoreThread.run() line: 471
Thread.run() line: 1060
Thread [<25> CookieSyncManager] (Suspended)
Object.wait(long, int) line: not available [native method]
MessageQueue(Object).wait(long) line: 326
MessageQueue.next() line: 144
Looper.loop() line: 110
CookieSyncManager(WebSyncManager).run() line: 90
Thread.run() line: 1060
Thread [<19> http0] (Suspended)
Object.wait(long, int) line: not available [native method]
RequestQueue(Object).wait() line: 288
ConnectionThread.run() line: 93
Looper
これらの各スレッドで終了するようにどのように指示できるのだろうか。
webView.destroy()
アクティビティのメソッドを呼び出してみましonPause()
たが、影響はありませんでした。
webView ( webView.loadUrl(...)
) で Web ページを開くための呼び出しを無効にすると、これらのスレッドは当然開始されないため、アクティビティを終了した後も残りません。
WebView
アクティビティを終了した後に のスレッドを停止する方法についてのアイデアはありますか?