美文网首页Android
Async Task注意点

Async Task注意点

作者: 潇萧之炎 | 来源:发表于2018-09-19 18:36 被阅读15次

    Async Task的 onCanceled()方法和onPostExecute()方法互斥
    Async Task之前是串行执行任务,后来采用线程池异步执行任务,再后来为了避免并发错误,
    execute()又采用串行执行任务,但是可以通过executeOnExecutor()来串行执行任务。

    AsyncTask里面有两种线程池供我们调用
    1. THREAD_POOL_EXECUTOR, 异步线程池
    2. SERIAL_EXECUTOR,同步线程池
    一个是异步线程池,多个任务在线程池中并发执行;还有一个是同步执行的。默认调用execute,是使用SERIAL_EXECUTOR

    1. AsyncTask里面有THREAD_POOL_EXECUTOR和SERIAL_EXECUTOR两种方式来异步执行任务;THREAD_POOL_EXECUTOR是异步的,而SERIAL_EXECUTOR任务是顺序执行的。
    2. THREAD_POOL_EXECUTOR如果添加的任务过多,没有及时处理的话,会导致程序崩溃,它的队列size是128;它的调度规则是核心池大小,队列大小,以及最大线程数和异常处理Handler来决定的。
    3. SERIAL_EXECUTOR本质是在THREAD_POOL_EXECUTOR的基础上添加一个mTasks的集合来保证任务的顺序执行。

    相关文章

      网友评论

        本文标题:Async Task注意点

        本文链接:https://www.haomeiwen.com/subject/emxwnftx.html