- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我使用 WebView 在我们的一个应用程序中显示一些互联网内容 Activity 。
问题是当用户退出这个 Activity 时,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
退出。
我尝试在 Activity 的 onPause()
方法中调用 webView.destroy()
,但没有影响。
当我禁用在 webView 中打开网页的调用时( webView.loadUrl(...)
),那些线程自然没有启动,并且因此,离开 Activity 后不要继续。
关于如何让 WebView
的线程在离开后停止的任何想法他们的 Activity ?
最佳答案
您应该能够通过调用 webview 上的 onPause/onResume 来停止/恢复这些线程。
然而,这些是隐藏的,所以你需要通过反射(reflection)来做到这一点。以下代码对我有用:
Class.forName("android.webkit.WebView").getMethod("onPause", (Class[]) null).invoke(webView, (Object[]) null);
其中 webView 是 WebView 的实例。
关于android - WebView 线程永不停止(WebViewCoreThread、CookieSyncManager、http[0-3]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2040963/
这个错误信息很清楚: CookieSyncManager::createInstance() needs to be called before CookieSyncManager::getInsta
我试图在 webview 中使用 shouldOverrideUrlLoading() 方法获取 cookie,但我收到了这个错误。请看下面我的代码, WebViewClient loginClien
当我们使用它时,cookie 是否保持持久?手机重启后cookies是否仍然可用?我指的是这个链接:http://developer.android.com/reference/android/web
我的应用最近开始出现大量 CookieSyncManager 异常: java.lang.IllegalStateException: CookieSyncManager::createInstanc
我在我的应用程序中使用了一个 cookie,它在所有浏览器中都可以正常工作,但是在 android 设备中,cookie 的设置速度没有我想要的那么快,保存 cookie 需要一些时间,当我删除曲奇饼
我在我的应用程序中遇到了一些不寻常的情况,我无法在 onCreate() 中实例化 WebView 而是稍后在回调中实例化(甚至不在同一个线程)。 因此,official documentation
我有一个可让您登录页面的 Activity 。在下一个 Activity 中,如果登录成功,它应该显示一个基于 cookie 的网页。cookie 已被检索,我尝试使用以下代码将其放在 webView
我有一个从AysncTask扩展的类。在 doInBackground 方法中我想更新 cookie,所以我有: CookieSyncManager.createInstance(context);
在 CookieSyncManager.createInstance() 调用中使用应用程序上下文而不是 Activity 上下文是个好主意吗? CookieSyncManager.createIns
我使用 WebView 在我们的一个应用程序中显示一些互联网内容 Activity 。 问题是当用户退出这个 Activity 时,WebView 的线程一直在运行! 有问题的线程是: Thread
我有一个使用 webview 的 android 应用程序,用户在被重定向到我想用 jsoup 抓取数据的页面之前必须使用用户名和密码登录。由于 jsoup 线程将是一个不同的 session ,用户
背景: 我正在通过我的应用程序获取 cookie,并通过向 http 发出请求在内部使用它们。用户可以在任何给定时间切换到 webview,在这种情况下,我将 cookie 同步/注入(inject)
我是一名优秀的程序员,十分优秀!