首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
framework 源码分析
大胃粥
创建于2022-10-06
订阅专栏
framework 开发并不是一朝一夕的事,我愿为大家扫清一点点疑惑。
等 49 人订阅
共23篇文章
创建于2022-10-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
WMS& SF& IMS: 焦点窗口更新框架
在工作中,不乏一些做稳定性的“小朋友”,当遇到无法解决的“无焦点窗口”的ANR时,就会与我做一番“友好”的交流,有时候真让我不胜其烦。说实话,这些东西都是做稳定性的基本功。 本文先来分析焦点窗口的更新
Android V : WindowContainer 本地动画框架
并不是所有窗口动画都是由或经由 shell-transitions 执行的,有一类窗口动画,称之为local animation(本地动画),是在 WM-Core 侧执行的。例如,窗口的异步旋转,或者
Android U WMS: 屏幕旋转动画(5) 执行动画
前面几篇文章,已经做完了所有铺垫,本文真正地来分析旋转动画是如何执行的,从中可以看到 surface 是如何操作的。
Android U WMS : 屏幕旋转动画(4) 准备动画数据
由于动画是在 WMShell 中执行的,因此当一切就绪时, WMCore 需要计算动画的数据,然后发送给 WMShell。
Android U WMS : 屏幕旋转动画(3)
本文分析 relaunch activity 在 WMS 的实现过程,包括移除窗口,添加窗口,relayout 窗口,窗口重绘,等等。
Android U WMS: 屏幕旋转动画(2) app 侧 activity relaunch
屏幕旋转动画,app 进程是如何收到以及处理配置,relaunch Activity 的生命周期是如何执行的。
Android U WMS : 屏幕旋转动画(1)
理解 shell transition 框架,并以屏幕旋转动画为例,分析 shell transition 的各个流程。
AMS : bind service 分析
案例 从 Android O 开始,start service 是有限制的,即不允许启动后台 app 的 Service。但是对于 bind service 而言,是没有这个限制的。官方文档的原话如下
AMS:start service分析
缘由 我曾经任职于一家小公司,负责上层一切事务,而公司为了给客户(尤其是小客户)提供开发的便利,会强行去掉一些限制,其中就包括启动 Service 的限制。 本文来分析 Service 的整体启动流程
ActivityManagerService之广播(2): 并行发送与串行发送
本文以 ActivityManagerService之广播(1): 注册与发送 为基础,分析“串行”和“并行”广播的发送流程,并介绍广播 ANR 的原理。 "并行"广播的发送 第3步,把广播记录保存到
ActivityManagerService之广播(1): 注册与发送
最近,帮同事解决了两个问题,一个问题是 app 接收开机广播的速度太慢,另一个问题是app有时无法接收到广播。同事不知道如何解决这个问题,是因为他们不了解广播发送超时的原理。 很早的时候,我就研究过广
PowerManagerService之唤醒锁
在开发中,或多或少会使用唤醒锁(wake lock),有的是为了保持屏幕长亮,有的是为了保持 CPU 运行。 唤醒锁的本质,其实是对屏幕状态的控制,以及对 CPU 挂起的控制。
PowerManagerService之手动灭屏
PowerManagerService之亮屏流程分析 分析了亮屏的流程,并归纳出了一个适用于亮屏或灭屏的通用的流程。 但是,灭屏流程还有一些独特的东西
PowerManagerService之亮屏流程分析
亮屏的方式有很多,其中最常用的是 Power 键亮屏,这个流程比较简单,本文希望通过分析这个流程,从而理清操作屏幕的能用流程,为后面的文章打下基础。
PowerManagerService之省电模式(1): 初步认识
本文对省电模式进行初步认识,并且对省电模式的初始化环境的代码进行分析,为后面逐步剖析省电模式的功能打下基础。
ActivityManagerService: ContentProvider 答疑解惑
前面一篇文章分析了 AMS 端处理 provider 的逻辑,本文来分析客户端如何处理获取的 provider
深入理解Android MTP之存储映射分析
深入理解Android MTP之UsbService启动分析 分析了MTP的服务端的启动,本文来分析切换MTP模式后,存储中的数据(文件、目录)是如何映射到PC端的。 首先你得知道如何切换MTP模式。当手机通过usb连接电脑时,会出现一个关于usb的通知,点击通知后,会出现一个…
深入理解Native层消息机制
在分析底层源码时,时不时会碰到 Looper::wake() 或者 Looper::pollOnce() 这样的代码,之前大概知道是 Native 层的消息循环机制。为了以后我也能够使用它,我决定还是
ActivityManagerService: 分析 ContentProvider 的访问
本文分析 AMS 端对 provider 的处理,其中包括 provider 进程的创建, provider 进程发布 provider 到 AMS,以及 AMS 返回什么数据给客户端
深入理解Android MTP之UsbService启动分析
公司接了项目,开发一个在线升级功能,其中我需要实现手机端与PC端的通信。公司选择使用MTP来实现这个需求,因此我分析了大量的关于MTP的代码,从frameworks层到app,再到JNI层。鉴于网上关于这样的文章太少,而我开发的过程也比较长,因此我决定把framework, a…
下一页