首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android源码分析
订阅
海路
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
《Activity显示界面历险记》—说说View的那些理不清的关系
在Activity显示View的过程中,有一些重要的角色总让人理不清,比如PhoneWindow、DecorView、ViewRootImpl。 也常常有面试题会问到,他们四者之间的关系?创建的时机?View第一次绘制的时机?等问题。 那么今天,就和大家一起从Activity启…
Android 8.0 源码分析 (八) ActivityManagerService
相信在看过我前面几篇分析 Android 系统源码文章的知道,基本上每一篇文章都会涉及到 AMS 知识,那么 AMS 主要的作用是干嘛的,在这几篇文章中充当什么角色,当时也没有具体说明,那么这一篇文章将来全面分析 AMS, 在阅读本篇文章之前,建议先看一下我下面的几篇文章,这样…
图解 | 不得错过的Binder浅析(一)
Framework和Binder的内容挺深的,本文还是站在应用层开发者的角度来建立基本认知,能在遇到问题的时候有思路和方向即可。(本文将带着关键问题和核心流程展开,不会面面俱到) Binder是Android系统的一种跨进程通信(IPC)机制。 在Android系统中,单个进程…
Broadcast之goAsync方法
简单来说,goAsync提供了一种机制,让我们可以在异步线程中处理广播消息,以防止主线程被阻塞。 我们知道AMS是通过跨进程调用ApplicationThread来实现调用广播的onReceive方法。 在正式开始介绍goAsync之前,ApplicationThread内部的…
反思|Android 事件分发机制的设计与实现
Android体系本身非常宏大,源码中值得思考和借鉴之处众多。以整体事件分发机制为例,其整个流程涉及到了 系统启动流程(SystemServer)、输入管理(InputManager)、系统服务和UI的通信(ViewRootImpl + Window + WindowManag…
android 按键事件上报机制
1. 按键上报和分发机制 按键处理设计的整体思路是驱动层会有一个消息队列来存放事件,会有一个Reader来不停的读取事件,一个Dispatcher来分发消息队列中的事件。Dispatcher分发的事件最后会通过jni上报到InputManagerService,然后通过接口最后…
EventBus源码解析
最近跟一位前辈聊了一下学习方法,聊了很多,也收获了很多。从交流的过程中前辈送给我一句话:“学以致用,格物致知”。听完之后意识到之前的学习方法有很大的问题,在以后的学习中需要更多的和实践相结合,做到学以致用。各位小伙伴们有什么更好的学习方法吗?欢迎留言交流。 本篇文章将会讲一下E…
Android View的绘制流程
上一篇中我们讲到了Android的触摸事件传递机制,除此之外,关于Android View的绘制流程这一块也是View相关的核心知识点。我们都知道,PhoneWindow是Android系统中最基本的窗口系统,每个Activity会创建一个。同时,PhoneWindow也是Ac…
Android 手机灭屏流程分析详解
当power键灭屏时,会在PhoneWindowManager中处理按键事件后,调用到PMS的gotoSleep()进行灭屏处理,下面直接看看PhoneWindowManger中对Power键灭屏的处理以及和PMS的交互。 最终,PhoneWindowManager中调用了Po…