Android KitKat HttpURLConnection断开AsyncTask

Chr*_*ist 8 android httpurlconnection android-asynctask android-4.4-kitkat

在我的应用程序,我下载使用文件HttpURLConnection类的AsyncTask.如果文件下载时间太长,那么我想取消它; 我通过关闭流并在对象上调用disconnect()来完成此操作HttpURLConnection.这段代码在Android中运行了多年.但是,现在KitKat已经出局,问题就出现了.具体来说,disconnect()呼叫本身需要几秒钟或更长时间才能完成.在预KitKat设备中,它需要一毫秒或更短的时间.真正奇怪的是,当我在一个单独的线程上执行断开连接调用时,它真的很快.因此,它必须是一个问题与调用它的AsyncTaskdoInBackground方法.有一点需要注意的是,我AsyncTask确实有一个Looper.prepare()电话.

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

小智 0

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