Android 学习笔记 线程操作 异步任务 AsyncTask
2020-02-17 02:17
288 查看
这是第一篇个人笔记,留作纪念,哈哈
----------------------------------------------------------------------------
异步任务AsyncTask
P.s 4.0以前异步任务不管创建多少个都可以同时执行,到了4.0以后被限制成和Handler一样,一个个来,如果需要同时执行得调用
----------------------------------------------------------------------------
异步任务AsyncTask
最简单使用方法: 新建类,继承 AsyncTask
AsyncTask的三个数说明(三个参数可以是任何类型)
第一个:doInBackground()方法的参数类型
第二个:onProgressUpdate()方法的参数类型
第三个:onPostExecute()方法的参数类型,同时也是doInBackground()方法返回的类型
public class MyAsyncTask extends AsyncTask <Void , Integer , String> { protected void onPreExecute () { //开始执行(UI线程中执行) } pritected String doInBackground (Void... arg0) { //运行期间(新线程) publishProgress (1);//调用可更新UI,可传递值 return ""; } protected void onPostExecute (String result) { //执行结束(UI线程中执行) } protected void onProgressUpdate (Integer... Progress) { //被publishProgress调用,一般用于UI更新 } }
UI线程中
MyAsyncTask myAsyncTask = new MyAsyncTask (); myAsyncTask .execute();
P.s 4.0以前异步任务不管创建多少个都可以同时执行,到了4.0以后被限制成和Handler一样,一个个来,如果需要同时执行得调用
myAsyncTask .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
==============================================================================
最后总结一下:
1.创建异步任务必须在 UI 线程
2.不要在异步任务里面手动调用on开头的方法
3.onPreExecute 执行异步任务前 的回调方法 (在UI线程中执行)
5.onPostExecute 执行异步任务后 的回调方法 (在UI线程中执行)
6.onProgressUpdate 更新UI的方法 (在UI线程中执行)只能被 publishProgress 调用
嘿嘿,新手难免有错,如果大神看到帮忙指点一下哟
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Android学习路线指南
- Android学习之旅(1)——XML的写入与解析
- 学习笔记(Android Studio)1
- 学习笔记(Android Studio)2
- android system server and service manager
- 01 初识Android
- AndroidStudio+Cmake,NDK图文详解超简单
- Android图形基础(Android Studio版)
- Android设置无标题栏 、状态栏
- Android_tools_adb_monkey测试
- android 编译boot.img、dt.img、uboot.bin脚本
- Android studio Json数据的使用步骤
- Android studio创建数据库附加图片
- Android Spinner排序 ListView显示数据
- Android Activity和Intent机制学习笔记
- Android 最火的快速开发框架XUtils
- android asmack 注册 登陆 聊天 多人聊天室 文件传输
- 第一个androidAPP项目总结—ListView的上拉和下拉
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android调用系统图片浏览器裁切后出现黑边