异步任务对象(AsyncTask)
AsyncTask是Android中的一个工具类,此类
中封装了消息模型中消息的传递过程,它提供
了几个方法,有的方法会运行在工作线程,有
的方法会运行在主线程,我们在使用此类时候
通常要构建此类的一个子类对象,然后重写此
中的相关方法,实现线程间的协作。
abstract class
AsyncTask<Params,Progress,Result>{}
class LoadAsyncTask
extends AsyncTask<String,Integer,Bitmap>{
重写相关方法
}
在编写好异步任务类以后,假如需要借助此类
对象执行任务,一般是调用executeXXXX(...)
方法。
AsyncTask 常用方法
1)execute(Params ...p)
2)executeOnExecutor(...)
3)static void execute(Runnable r)
4)onPreExecute()
5)doInBackGround(....)
6)onPostExecute()
7)publishProgress(...)
8)onProgressUpdate(...)
9)onCancel(...):尝试退出
10) isCancel()
说明:在AsyncTask中默认有两个线程池,
在使用AsyncTask执行任务时是使用线程
池中的线程执行任务的。
---------------------------------------------
Android 中线程池应用
1.何为线程池?
1)内存中的一块区域
2)这块区域中可以存储若干个线程对象,目的
是实现线程的重用。
2.线程池的应用场合?
1)例如服务端处理多个请求
2)客户端执行多个任务
3.线程池对象的创建及相关应用?
3.1线程池接口及相关类
1)Executor(线程池父接口)
a)ExecutorService(子接口)
b)ScheduledExecutorService(子接口)
c)ThreadPoolExecutor(实现类)
3.2线程池相关方法
1)execute(....) 执行任务
2)submit(...) 执行任务
3)shutdown(),shutdownNow() 关闭线程池
2)Executors(用于构建线程池的一个工具类)
a)newSingleThreadExecutor
b)newFixedThreadPool
c)newCachedThreadPool
AsyncTask是Android中的一个工具类,此类
中封装了消息模型中消息的传递过程,它提供
了几个方法,有的方法会运行在工作线程,有
的方法会运行在主线程,我们在使用此类时候
通常要构建此类的一个子类对象,然后重写此
中的相关方法,实现线程间的协作。
abstract class
AsyncTask<Params,Progress,Result>{}
class LoadAsyncTask
extends AsyncTask<String,Integer,Bitmap>{
重写相关方法
}
在编写好异步任务类以后,假如需要借助此类
对象执行任务,一般是调用executeXXXX(...)
方法。
AsyncTask 常用方法
1)execute(Params ...p)
2)executeOnExecutor(...)
3)static void execute(Runnable r)
4)onPreExecute()
5)doInBackGround(....)
6)onPostExecute()
7)publishProgress(...)
8)onProgressUpdate(...)
9)onCancel(...):尝试退出
10) isCancel()
说明:在AsyncTask中默认有两个线程池,
在使用AsyncTask执行任务时是使用线程
池中的线程执行任务的。
---------------------------------------------
Android 中线程池应用
1.何为线程池?
1)内存中的一块区域
2)这块区域中可以存储若干个线程对象,目的
是实现线程的重用。
2.线程池的应用场合?
1)例如服务端处理多个请求
2)客户端执行多个任务
3.线程池对象的创建及相关应用?
3.1线程池接口及相关类
1)Executor(线程池父接口)
a)ExecutorService(子接口)
b)ScheduledExecutorService(子接口)
c)ThreadPoolExecutor(实现类)
3.2线程池相关方法
1)execute(....) 执行任务
2)submit(...) 执行任务
3)shutdown(),shutdownNow() 关闭线程池
2)Executors(用于构建线程池的一个工具类)
a)newSingleThreadExecutor
b)newFixedThreadPool
c)newCachedThreadPool