AsyncTask使用遇到的问题

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

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试