handler

作者: 萧胜天_ | 来源:发表于2021-05-07 08:59 被阅读0次

    1、handler运行原理
    https://blog.csdn.net/ttxs99989/article/details/81814037
    2、message 复用机制
    https://blog.csdn.net/huma8848888/article/details/104072695
    3、message 调整优先级
    sendMessageAtFrontOfQueue
    postAtFrontOfQueue
    在dispatchmessage 的时候 进行消息延迟 ??
    4、线程池:
    五个核心参数:

    1. corePoolSize: 该线程池中核心线程的数量
    2. maximumPoolSize:该线程池中最大线程数量
    3. unit:上面时间属性的单位
    4. workQueue:任务队列
    5. threadFactory:线程工厂,可用于设置线程名字等等,一般无须设置该参数。

    5、线程池执行过程:

    1. execute一个线程之后,如果线程池中的线程数未达到核心线程数,则会立马启用一个核心线程去执行。
    2. execute一个线程之后,如果线程池中的线程数已经达到核心线程数,且workQueue未满,则将新任务放入workQueue中等待执行。
    3. execute一个线程之后,如果线程池中的线程数已经达到核心线程数但未超过非核心线程数,且workQueue已满,则开启一个非核心线程来执行任务。
    4. execute一个线程之后,如果线程池中的线程数已经超过非核心线程数,则拒绝执行该任务,采取饱和策略,并抛出RejectedExecutionException异常。

    6、那些集合是线程安全的?

    安全 非安全 备注
    HashTable ArrayList
    Vector LinkedList
    StringBuffer HashMap
    HashSet
    TreeMap
    TreeSet
    StringBuilder

    7、事件分发
    https://www.jianshu.com/p/e99b5e8bd67b
    8、view绘制(自定义view整体流程)
    https://blog.csdn.net/sinat_27154507/article/details/79748010
    9、内存泄漏 & 内存溢出、如何优化
    内存泄漏:无法释放已申请的内存空间;
    内存溢出:没有足够的内存提供申请者使用;
    二者关系:
    内存泄漏的堆积会导致内存溢出;
    内存泄漏的分类:(按发生方式分类)
    常发性内存泄漏、偶发性内存泄漏、一次性内存泄漏、隐式内存泄漏

    10、RcRoot几种标记方法
    11、消息队列是什么原理
    12、arraylist 、 linklist 原理
    13、如何在自线程里面更新UI
    14、hashmap 原理
    15、threadlocal 怎么保证线程唯一
    16、classloader 有哪些子类,分别的作用是什么(热修复原理、插桩)
    17、anr 时间
    18、bitmap计算内存大小
    19、oom出现场景
    20、activity生命周期
    20.1、fragment 生命周期&懒加载
    21、service 如何绑定,如何运转
    22、aidl
    23、进程间通信、线程间通信
    24、Android中有多少种锁
    25、性能优化、包大小优化等
    26、flutter web缓存问题
    27、flutter 父view与子view间使用什么通信,有几种方法
    28、flutter 与native 交互的方式
    29、flutter 怎么自定义widget
    30、widget、element、RenderObject 关系理解
    31、ynb hybrid web缓存、怎么优化,优化了哪些内容
    32、Android中的方法 spreadarray 、invalidate
    33、uml图、手画类图,类与类之间的六种关系

    相关文章

      网友评论

          本文标题:handler

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