AsyncTask中执行完doInBackground不执行onPostExecute
来源:互联网 发布:卖家怎么在淘宝客推广 编辑:程序博客网 时间:2024/05/01 12:31
在项目中遇到一个很奇怪的问题, 在做软件升级检查的时候,调用到AsyncTask,在android2.3,android2.2 ....(小于android2.3版本系统) 发现跑完doInBackground回调函数之后, 程序不再往下运行onPostExecute了; 但是如果程序运行在android4.0以后的版本上面, 是可以正常运行onPostExecute回调函数的。
在网上看了半天, 有说是因为doInBackground中有异常没有捕捉,但是发现即使只在里面加入打印log信息,还是同样的结果, doInBackground运行完成后,onPostExecute依然没有运行。
经过大半天的折腾发现问题出在调用的方式上, 我不是在UI主线程中调用AsynTask,而是在主线程中另启线程调用AsynTask因而导致的问题, 放在主线程中调用就没有问题了。
另外, 经过这次, 发现运在线程内调用AsyncTask还是可以正常在android4.0以后版本下运行,说明源码部分做了一些改动, 有兴趣的朋友可以研究一下。
- AsyncTask中执行完doInBackground不执行onPostExecute
- 工作随笔:BaseAsyncTask执行完doInBackground不执行onPostExecute
- AsyncTask的doInBackground不执行
- AsyncTask onPostExecute()不执行,与JPush冲突
- AsyncTask onPostExecute 未执行原因
- AsyncTask onPostExecute 未执行问题
- Android AsyncTask onPostExecute()不执行,与JPush冲突
- ZT:AsyncTask 的doinbackground不执行的问题
- Asynctask onPostExecute未执行的问题分析
- AsyncTask不会执行doInBackground 的原因
- AsyncTask引发的一个问题:doInBackground()未及时执行
- AsyncTask的doInBackground方法延迟执行的问题
- 异步任务AsyncTask的doInBackground执行慢的问题
- AsyncTask doinbackground onProgressUpdate onCancelled onPostExecute的基本使用
- 项目实现过程中遇到的问题记录(一)------------使用AsyncTask时,doInBackground没有立即执行
- 在AsyncTask的doInBackground方法中调用HttpClient的execute方法,HttpGet地址为内网时无问题,部署到外网就不执行了
- 深入解析AsyncTask(doInBackground不工作)
- 深入解析AsyncTask(doInBackground不工作)
- 几种软件缺陷的可能利用方法
- 获取所有已安装的程序信息
- FLEX调用带结果地图服务的GP服务
- java面试题--程序查错
- 菜鸟入门:Java语言学习
- AsyncTask中执行完doInBackground不执行onPostExecute
- Object C 初识
- 光盘刻录编程
- Android中Popupwindow的用法
- HTML之实现下拉式菜单
- 【insigma】IO文件和文件夹的复制、删除、剪切
- android权限大全
- warning C4290: 忽略C++ 异常规范,但指示函数不是__declspec(nothrow)
- float与double类型区别比较