自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

只想搞钱

只想搞钱

  • 博客(10)
  • 收藏
  • 关注

原创 android屏幕刷新之三

① 调整、更新数据后,记录当前帧、上一帧的数据信息,如果发生跳帧则申请并等待下一次 VSync 信号到来,然后返回。② 没有发生跳帧,则按照事件类型的优先级执行 CallBack 回调,并传入上一步记录的当前帧的数据信息。

2025-05-16 17:30:32 856

原创 android屏幕刷新之二

之前从源码跟进activity刷新,在通过setContentView将布局加载到DecorView,并且最后因 ViewRootImpl.requestLayout 请求布局才可以将布局刷新到屏幕。但是对于 View 和 ViewRootImpl 的具体实现,并没有了解。此次,在源码基础上学习该部分内容。android中 View 的刷新绘制通常由三种情况触发:在 Android 的 UI 渲染流程中,View.requestLayout() 和 ViewGroup.requestLayout() 是非常

2025-05-12 14:41:06 845

原创 android屏幕刷新之一

想要进一步去了解刷新过程,有些概念需要了解。简选如下几个。

2025-05-06 10:57:09 895

原创 Handler消息机制-Looper(system)

接续 “NativeMessageQueue” 部分,在NativeMessageQueue的 JNI 方法实现中,最终几乎全部都是在操作 “” 对象。接下来看一下​Looper(system)它如何通过监听和处理消息队列中的事件,确保线程能够按照预定的方式响应各种消息和回调。

2025-04-14 10:57:56 573

原创 Handler消息机制-NativeMessageQueue

Android Handler消息机制,MessageQueue作为消息队列存储Message,都是存放在Java 端的。MessageQueue引入native,为了使用 epoll 机制,在无可执行消息时进行线程阻塞。之前在中知晓,MessageQueue的构造函数会初始化native层MessageQueue。现在进一步探讨这部分内容。

2025-04-14 10:54:29 823

原创 Handler消息机制-Looper

ThreadLocal 是一个线程本地存储(Thread-Local Storage)的类,它允许每个线程拥有自己独立的变量副本,从而避免多线程环境下的竞争条件。ThreadLocal 的核心思想是为每个线程提供一个独立的变量存储空间,线程之间互不干扰。private static Observer sObserver 是一个内部类对象,用于监听 Looper 的消息循环事件。这个机制主要用于调试和性能监控,可以帮助开发者观察消息循环的执行情况,例如消息的分发耗时、消息队列的状态等。/**/**

2025-04-09 15:10:53 791

原创 Handler消息机制-MessageQueue

当消息队列空闲时,会调用 queueIdle() 方法。对于 IdleHandler 这个接口调用,重写queueIdle()函数,在其中实现自定义功能。返回 true 表示继续保留 IdleHandler,下次空闲时再次调用。返回 false 表示移除 IdleHandler,不再调用。

2025-04-09 14:49:49 596

原创 Handler消息机制-Message

Handler 消息处理机制主要由 Handler、Looper、MessageQueue 和 Message 四部分组成。在“Handler消息机制-Handler” 中介绍了Handler部分,本次则学习一下 Message 消息。Message 是 Android 中用于线程间通信的核心类,它是 Handler 消息机制的基本单元。Message 封装了需要传递的数据和任务,并通过 Handler 发送到目标线程的 MessageQueue 中,最终由 Looper 分发,进一步做处理。

2025-04-08 18:46:45 687

原创 Handler消息机制-Handler

Handler 消息处理机制主要由 Handler、Looper、MessageQueue 和 Message 四部分组成。Handler作用:用于发送消息和处理消息。发送消息到 MessageQueue。处理从 Looper 分发的消息。特点:每个 Handler 绑定到一个 Looper,从而绑定到一个线程。可以发送 Message 或 Runnable。Message作用:消息的载体,封装了需要处理的任务或数据。通过 what 字段标识消息类型。通过 obj 字段传递数据。

2025-04-07 16:59:28 932 1

原创 关于Systrace的学习记录

Choreographer 的引入,主要是配合 Vsync ,给上层 App 的渲染提供一个稳定的 Message 处理的时机,也就是 Vsync 到来的时候 ,系统通过对 Vsync 信号周期的调整,来控制每一帧绘制操作的时机。Android 主线程运行的本质,其实就是 Message 的处理过程,我们的各种操作,包括每一帧的渲染操作,都是通过 Message 的形式发给主线程的 MessageQueue ,MessageQueue 处理完消息继续等下一个消息。启下:负责请求和接收 Vsync 信号。

2024-08-19 09:56:59 1153

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除