В своем приложении я загружаю файл, используя HttpURLConnection в AsyncTask. Если файл загружается слишком долго, я хочу отменить его; и я делаю это, закрывая поток и вызывая disconnect() на объект HttpURLConnection
. Код годами безупречно работал в Android. Однако теперь, когда KitKat вышел, возникли проблемы. В частности, сам вызов disconnect()
занимает несколько секунд или больше. В устройствах до KitKat это занимало миллисекунду или меньше. Что действительно странно, так это то, что когда я выполняю вызов разъединения в отдельном потоке, он снова работает очень быстро. Так что это должно быть проблемой с вызовом его в методе AsyncTask
doInBackground
. Следует отметить, что у моего AsyncTask
действительно есть вызов Looper.prepare()
.
Кто-нибудь знает, в чем разница между KitKat и другими версиями Android? Я просмотрел списки изменений и не нашел ничего, связанного с этой проблемой.