- 博客(4)
- 收藏
- 关注
原创 Android Handler之MessageQueue浅析
3.头部消息的处理并返回:将头部消息mMessages赋值给msg,那么msg.next赋值给mMessages并将msg返回,这样完成了头部消息mMessages在单向链表中的操作。3.当前元素入队列操作,由于for循环查找出p的执行时间大于msg,所以msg的next赋值p元素,那么prev的下一个元素则为msg,那么msg入队列操作完成。2.比较当前开机时间和消失的执行时间点的大小:①如果当前开机时间小于当前头部消息的运行时间,则计算等待时间差nextPollTimeoutMillis。
2025-01-08 11:24:27
148
原创 Android Handler浅析
可知,Looper对象存放在ThreadLocal中,那么ThreadLocal又是怎么存在哪里进行存放的呢?根据上述代码可知,优先调用Message的Runnable,如果Runnable为空,则判断Callback是否为空,如果不为空,则Callback接口调用handleMessage(msg)返回给上层应用,如果mCallback.handleMessage(msg)返回值为true,直接return,否则继续调用Handler类中声明的handleMessage(msg)返回给上层应用。
2025-01-08 08:57:41
348
原创 android Lifecycle浅析
3.对于Observer构造方法类型作了区分,如果为GENERATED_CALLBACK类型,则进一步区分构造方法数量是否为1,如果等于1,则返回SingleGeneratedAdapterObserver对象,不为1,则返回CompositeGeneratedAdaptersObserver。2.对是否为LifecycleEventObserver的处理。其中对是否包含Lifecycle作了判断处理并返回REFLECTIVE_CALLBACK类型,以及对实现类是否包含Lifecycle也作了相应处理。
2024-12-19 11:01:23
411
原创 Android Lifecycle基本用法
Lifecycle提供给外部使用的方式大致有如下几种:以自定义View为例,首先实现接口LifecycleEventObserver,其继承LifecycleObserver接口:通过LifecycleEvent实现,案例如下所示:
2024-12-19 10:59:56
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅