Android KitKat HttpURLConnection 断开 AsyncTask

2024-04-07

在我的应用程序中,我使用下载文件HttpURL连接 http://developer.android.com/reference/java/net/HttpURLConnection.html in an 异步任务 http://developer.android.com/reference/android/os/AsyncTask.html。如果文件下载时间太长,那么我想取消它;我通过关闭流并调用来做到这一点断开() http://developer.android.com/reference/java/net/HttpURLConnection.html#disconnect%28%29 on the HttpURLConnection目的。该代码在 Android 中完美运行多年。然而,现在 KitKat 已经出来了,问题就出现了。具体来说,disconnect()呼叫本身需要几秒钟或更长时间才能完成。在 KitKat 之前的设备中,需要一毫秒或更短的时间。真正奇怪的是,当我在单独的线程上执行断开连接调用时,它又变得非常快了。所以在调用它时一定是一个问题AsyncTask's doInBackground方法。需要注意的一件事是我的AsyncTask确实有一个Looper.prepare() call.

有谁知道KitKat和其他Android版本有什么区别?我梳理了更改列表,没有看到与此问题相关的任何内容。


看来 Kitkat 使用了 okhttp 而不是之前的 HTTPConnection 实现,或者至少在官方更新的 Nexus 设备上是这样的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android KitKat HttpURLConnection 断开 AsyncTask 的相关文章

随机推荐