在我的应用程序中,我使用AsyncTask中的HttpURLConnection下载文件。如果文件下载时间过长,那么我想取消它;我通过关闭流并在对象上调用disconnect()来做到这一点。多年来,该代码在 Android 中完美运行。然而,既然 KitKat 出来了,问题就出现了。具体来说,调用本身需要几秒钟或更长时间才能完成。在 KitKat 之前的设备中,它需要一毫秒或更短的时间。真正奇怪的是,当我在单独的线程上执行断开调用时,它又真的很快了。因此,在'方法中调用它必须是一个问题。需要注意的一件事是,我的确实有HttpURLConnection
disconnect()
AsyncTask
doInBackground
AsyncTask
Looper.prepare()
称呼。
有谁知道 KitKat 和其他 Android 版本有什么区别?我梳理了更改列表,没有看到与此问题相关的任何内容。