AsyncTask使用遇到的问题

多进程和多线程学习:--只有自己变优秀了才能遇到更优秀的别人
1、问题:如果AsyncTask被声明为Activity的非静态内部类,那么AsyncTask会保留一个对创建了AsyncTask的Activity的引用
   如果Activity已经被销毁,AsyncTask的后台线程还在执行,它将继续在内存保留这个引用,
   导致Activity无法被回收,引起内存泄露。
   解决:在Activity销毁之前cancel掉AsyncTask,中断AsyncTask的执行。
   问题:屏幕旋转或Activity在后台被系统杀掉等情况会导致Activity的重新创建,之前运行的AsyncTask会持有一个之前Activity的引用,
   这个引用已经无效,这时调用onPostExecute()再去更新界面将不再生效。
   解决:在Activity生命周期结束之前cancel掉AsyncTask
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值