• android异步处理机制


    昨天面试被提问android的异步处理机制有哪些,他说处理new thread还有哪种方式,我说implement runnable,他说不是,比如intentservice。

    我说那还有asyncTask,loader,然后又问,为什么使用asyncTask,我说因为他有doInbackground方法啊,他问你是因为他有现成的方法可用才用的吗。我说当然了,这没毛病啊。

    后来想想他可能是想让我说明白不同的异步处理机制有什么优缺点,平时没总结过,今天总结下。

    平时用的异步处理有handler、handlerThread、intentservice、asyncTask、loader等。

    handler主要用来在子线程中发消息通知UI线程来更新ui

    handlerThread的好处就是自带looper和MessageQueue,不需要自己去创建和维护looper

    intentservice继承自service,但是处理任务是在子线程,因为是service所以有不会被轻易杀死的特权,而且任务处理完以后会自动退出service,所以使用起来干净又简洁

    asyncTask内部对Executor进行了封装,缺点是各版本的特性不一致,api13后稳定,默认使用串行执行,但可以用executeOnExcutor方法实现并行操作。

    loader是android3.0的时候引入的一个异步数据加载框架,可以方便的在activity和fragment中异步加载数据,数据源发生变化时还能够及时发出通知。

    图呢,从网上找一个

    额,asyncQueryHandler是什么?貌似还没用到过,查一下

    官方解释是一个异步帮助类(A helper class to help make handling asynchronous ContentResolver queries easier.) 。这个类的主要作用就是异步对DB数据库进行操作,(这个非常重要,特别是大容量的数据处理时,例如几千联系人的数据读取,按正常的处理速度会非常的慢)。

    https://www.cnblogs.com/lbangel/p/4335859.html 

    搜噶,基本这些吧

  • 相关阅读:
    基本数据类型的包装类(wrapper class)、自动的装箱和拆箱、时间处理相关类、Math类、File类、枚举类
    数组、String、Stringbuilder、StringBuffer
    Introduction into browser events
    Javascript join example by separator
    text-transform
    JQuery :Not() Selector Example
    jQuery html() example
    jQuery
    $("selector").slice(start, end)
    位置博弈
  • 原文地址:https://www.cnblogs.com/dongweiq/p/9072543.html
Copyright © 2020-2023  润新知