使用了异步任务中cancel方法还是取消不了衅片的下载呀

使用了异步任务中cancel方法还是取消不了衅片的下载呀

我是在IndexFragment中的onDetory中调用cancel方法

@Override
public void onDestroy() {
    super.onDestroy();
    //这句代码 也不能清除消息机制继续传递,可以看到logccat中继续有图片下载完成的消息通知

    if (downLoadHelper_0!=null)
    {
        boolean cancel = downLoadHelper_0.cancel(true);
        Log.d(TAG, "onDestroy: 总体数据下载取消"+cancel);
    }
    if (downLoadHelper_1!=null)
    {

        boolean cancel = downLoadHelper_1.cancel(true);
        Log.d(TAG, "onDestroy: 图片下载取消:"+cancel);
    }
    if (downLoadHelper_2!=null)
    {
        boolean cancel = downLoadHelper_2.cancel(true);
        Log.d(TAG, "onDestroy: 商品明细下载取消:"+cancel);
    }
    handler.removeCallbacksAndMessages(null);
}

这是输出的log信息,说明取消成功后,图片仍然在下载

D/IndexFragment: onDestroy: 总体数据下载取消false
    onDestroy: 图片下载取消:true
D/DownLoadHelper: onCancelled: 
D/IndexFragment: handleMessage: 图片下载完成0
D/IndexFragment: handleMessage: 图片下载完成1
D/IndexFragment: handleMessage: 图片下载完成2
D/IndexFragment: handleMessage: 图片下载完成3
D/IndexFragment: handleMessage: 图片下载完成4


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
提问者 森林之王2 2019-07-17 18:20:39


http://img1.sycdn.imooc.com//climg/5d2ef58900019d2505940477.jpg


不知道为什么,这个异常捕获不了

  • 你看一下,是不是在别的地方发生异常了呢?没有捕获
    2019-07-17 19:41:44
  • 提问者 森林之王2 回复 好帮手慕雪 #2
    并没有,就是报的这个地方
    2019-07-17 19:47:22
  • 好帮手慕雪 回复 提问者 森林之王2 #3
    那你在bitmap的上下,还有那3个捕获异常处打个log,看看到底走的哪里。
    2019-07-18 10:02:33
好帮手慕雪 2019-07-17 10:34:06

你既然用了异步任务,为什么还要用handleMessage?

  • 提问者 森林之王2 #1
    我在异步里下载json 和图片,使用接口返回 InputStream,所有要用handleMessage
    2019-07-17 11:18:10
  • 好帮手慕雪 回复 提问者 森林之王2 #2
    不对,你在AsyncTask异步任务是直接下载,下载完之后直接显示就行了,别再用handleMessage了
    2019-07-17 11:21:41
  • 提问者 森林之王2 回复 好帮手慕雪 #3
    好的,我再修改一下
    2019-07-17 11:25:14
提问者 森林之王2 2019-07-17 09:48:43


使用了异步任务中cancel方法还是取消不了图片的下载呀


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师