Android中如何实现异步任务,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
为了解决新线程不能更新UI组件的问题,Android提供了几种解决方案
使用Hanlder
Acitity.renOnuiThread(Runnable)
View.post(Runnable)
View.postDelayed(Runnable,long)
......
Hanlder的操作其实还算OK,主要是后面几种方法可能导致编程略显枯燥,这个时候使用AsyncTask可以简化这种操作
AsyncTask<Parans,Progress,Result>是一个抽象类,通常用于被继承,而被继承则需腰指定这三个泛型参数
Parans:启动任务执行的输入参数的类型
Progress:后台任务完成的进度值的类型
Result:后台执行任务完成后返回结果的类型
使用异步操作其实只需要三步
创建AsyncTask的子类,并且为三个泛型参数指定类型
实现AsyncTask的方法
调用AsyncTask的子类的execute开始执行耗时任务
使用execute时必须遵守的规则
必须在UI线程中创建AsyncTask的实例
必须在UI线程中创建AsyncTask的实例的execute方法
AsyncTask的各个方法应该由Android系统调用而不是程序员
每个AsyncTask只能被执行一次,多次会引发异常
而AsyncTask的方法有如下几种
doInBackground(Params...)
onProgressUpdate(Progress...values)
onPreExecute()
onPoxtExecute()
关于Android中如何实现异步任务问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。