自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天涯的专栏

长兄于病视神,未有形而除之,故名不出于家。中兄治病,其在毫毛,故名不出于闾。若扁鹊者,镵血脉,投毒药,副肌肤,闲而名出闻于诸侯。...

原创 Android 源码 图形系统之窗口添加
原力计划

《Android 源码 输入系统之窗口关联》 一节着重考虑了窗口怎样和输入系统关联,而这一节的重点在于窗口如何添加到图形系统。 先来看一个整体概览,再来详细分析。 先从 setContentView 说起。此函数的作用是:从布局资源设置 Activity 内容。资源将被解析,将所有顶级视图添加到...

2020-06-26 19:06:15 104 0

原创 Android 源码 图形系统概述
原力计划

Android 框架提供了各种用于 2D 和 3D 图形渲染的 API,可与制造商的图形驱动程序实现方法交互。应用开发者可通过三种方式将图像绘制到屏幕上:使用 Canvas、OpenGL ES 或 Vulkan。 一、Android 图形组件 无论开发者使用什么渲染 API,一切内容都会渲染到“S...

2020-06-26 19:04:48 158 0

原创 Android 源码 installd 启动流程分析
原力计划

installd 进程具有 CAP_DAC_OVERRIDE 特权(Privilege)。对于具有 CAP_DAC_OVERRIDE 特权的进程,Linux 会跳过文件的读、写和执行权限的检查。所以,installd 可以访问任何目录下的文件。system 用户则会受限。 而 PackageMan...

2020-06-09 19:41:46 140 0

原创 Android 源码 PackageManagerService 启动流程分析
原力计划

《Android 源码 installPackage 流程分析》一节着重分析了 apk 安装流程,接下来我们分析 PackageManagerService 启动时都做了些什么? 执行 PackageManagerService main 静态方法; 调用 PackageManagerServi...

2020-06-08 17:45:04 151 0

原创 Android 源码 installPackage 流程分析
原力计划

installPackage 安装流程最终会调用 PackageManagerService 对应方法,当然是使用 binder 机制得以实现跨进程通信。 先来看看 installPackage 流程具体和各种进程如何关联调用,有个整体印象以后我们再来分析其流程。 起点是 Application...

2020-06-05 21:47:29 890 0

原创 Android 源码 关机流程分析
原力计划

Power 键长按 3s 可触发设备关机流程,关机我们能想到的有首先结束当前正在运行的界面,接着关闭显示屏,然后各种设备下电,最后设备彻底关闭。 在《Android 源码 输入系统之 InputReader》一节中,调用 InputDispatcher 类 notifyKey 方法,其中调用了 I...

2020-06-02 22:05:21 118 0

原创 Android 源码 输入系统之事件窗口分发
原力计划

handleReceiveCallback 方法对消息进行处理。 上一节打通了 InputDispatcher 和输入窗口之间双向的通道,这是通过 InputChannel 承载的。现在可以继续分析从 InputDispatcher 发送出的事件如何被接收处理了。 NativeInputEvent...

2020-06-02 21:36:34 113 0

原创 Android 源码 输入系统之 InputChannel 通信通道建立
原力计划

上一节完成了焦点窗口关联,现在可以分析如何将输入事件继续从 InputDispatcher 继续分发。InputChannel 的 sendMessage 将消息发送出去。实际是调用 socket 的 send 接口来发送消息的。具体一点其实使用的是 socketpair。所以我们先来学习 Lin...

2020-06-01 21:22:35 123 0

原创 Android 源码 输入系统之窗口关联
原力计划

在前一节中,InputDispatcher 的事件派发工作调用 InputChannel sendMessage 方法标志着 InputDispatcher 一个周期的工作结束。但意味着事件找到对应的窗口处理的开始。 上一节中 mFocusedWindowHandle 是 InputDispatc...

2020-06-01 21:20:15 103 0

原创 Android 源码 输入系统之 InputDispatcher
原力计划

InputDispatcherThread 线程负责派发事件。InputDispatcherThread 启动后会执行 threadLoop 函数。threadLoop 函数返回 true,InputDispatcherThread 就会循环执行 threadLoop 函数。具体可以参见关于 Na...

2020-06-01 21:18:23 104 0

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