AsyncTask与Thread+Handler
来源:互联网 发布:软件系统需求调研 编辑:程序博客网 时间:2024/04/26 08:02
> 在Android开发中,AsyncTask可以使得用户避免直接使用Thread类和Handler 来处理后台操作,适用于需要异步处理数据并将数据更新到界面上的情况。AsyncTask适用于后台操作只有几秒的短时操作。但是AsyncTask本身存在很多糟糕的问题,如果使用中不注意,将会影响程序的健壮性。
很多开发者会认为一个在Activity中创建的AsyncTask会随着Activity的销毁而销毁。然而事实并非如此。AsyncTask会一直执行, 直到doInBackground()方法执行完毕。然后,如果 cancel(boolean)被调用, 那么onCancelled(Result result) 方法会被执行;否则,执行onPostExecute(Result result) 方法。如果我们的Activity销毁之前,没有取消 AsyncTask,这有可能让我们的AsyncTask崩溃(crash)。因为它想要处理的view已经不存在了。所以,我们总是必须确保在销毁活动之前取消任务。总之,我们使用AsyncTask需要确保AsyncTask正确地取消。
》AsyncTask在各个版本的区别:在Android 1.6之前的版本,AsyncTask是串行的,在1.6至2.3的版本,改成了并行的。在2.3之后的版本又做了修改,可以支持并行和串行,当想要串行执行时,直接执行execute()方法,如果需要并行执行,则要执行executeOnExecutor(Executor)。
> Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:
1. 不要阻塞UI线程
2. 确保只在UI线程中访问Android UI工具包
android提供了几种在其他线程中访问UI线程的方法。
Activity.runOnUiThread( Runnable )
View.post( Runnable )
View.postDelayed( Runnable, long )
Hanlder...
- AsyncTask与Thread+Handler
- AsyncTask 与Handler+Thread
- AsyncTask 与 Thread+Handler区别
- AsyncTask 与 Handler+Thread 与Thread(Runnable)认识
- AsyncTask与Thread+Handler的区别、AsyncTask的使用
- AsyncTask VS Thread+Handler
- AsyncTask 与Thread加Handler处理消息比较
- AsyncTask对比Thread加Handler
- AsyncTask对比Thread加Handler
- AsyncTask对比Thread加Handler
- handler thread asynctask runnable 分析
- AsyncTask和Thread Handler对比
- android Handler Thread AsyncTask httpURLConnection
- AsyncTask和Thread+Handler对比
- AsyncTask对照 Thread加Handler
- AsyncTask和Thread Handler对比
- android多线程 : asynctask,thread,handler
- Handler&HandlerThread&Thread&AsyncTask详解
- Java异常处理机制难点解惑-用代码说话
- Mat简介入门
- 浮动布局float带来的高度塌陷——清除浮动
- UCOS-III 消息队列正确使用方法
- Android项目结构介绍
- AsyncTask与Thread+Handler
- 揭开VR电影制作所面临的困难
- 关于使用libcurl下载网页源码中文乱码问题!
- 字符编码问题详解
- 关于DecimalFormat用法详解
- PostGresql字符串函数
- Minecraft Forge编程入门二 “工艺和食谱”
- Android四大组件之广播接收器 Broadcast Receiver
- perl脚本去除文件中重复数据