AsyncTask使用遇到的问题

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

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

关闭
关闭
关闭