随笔分类 -  Android_系统_原理/机制/流程

摘要:前言 ANR(Application Not Responding),应用无响应,这个可能每个人都碰到过。 该篇主要简单总结下,ANR的几种常见类型(输入事件、广播接收器、Service、ContentProvider),以及ANR一般如何产生的及如何避免。 最后重点是通过源码 了解这几种类型 是如 阅读全文
posted @ 2021-02-21 21:51 流浪_归家 阅读(1671) 评论(0) 推荐(0) 编辑
摘要:前言和概述 Android的输入设备,最常用的就是 触摸屏和按键 了。当然还有其他方式,比如游戏手柄,比如支持OTG设备,则可以链接鼠标、键盘等。 那么这些设备的操作 是如何传递到系统 并 控制界面的呢?系统如何知道是如何知道点击了某个界面按钮,按了某个按键,知道交给哪个应用处理的? 该篇主要介绍这 阅读全文
posted @ 2020-12-08 01:25 流浪_归家 阅读(1924) 评论(1) 推荐(2) 编辑
摘要:前言 首先看一个Android界面的布局层次结构,最直观的看一下: 我们能清晰看到,这个界面分成了3部分:顶部状态栏(statusbar)、底部导航栏(navigationbar)、应用界面。 题外话: 查看布局的层次结构,工具或途径可以参考下面的。 Android Studio:Tools->La 阅读全文
posted @ 2020-11-22 16:12 流浪_归家 阅读(3188) 评论(1) 推荐(1) 编辑
摘要:简介 Window简介 Android中,Window是一个重要部分,用户看到的界面、触摸显示界面进行一系列操作都涉及到Window。但实际上,Window本身并不具备绘制功能。 该篇简单介绍下Window的一点内容,同时总结下WMS的启动过程。在下篇会逐步介绍一个Activity是如何创建出窗口 阅读全文
posted @ 2020-11-10 00:42 流浪_归家 阅读(1862) 评论(0) 推荐(0) 编辑
摘要:概述 这里主要介绍 PackageManagerService(简称PMS)的启动 和 一个应用的安装过程。这里只是大致总结,供参考,不少地方同样需要进一步深入了解学习的。 该篇相关代码也是基于AndroidQ的。 PMS也是核心服务之一,管理包相关内容,解析AndroidManifest.xml、 阅读全文
posted @ 2020-10-18 21:52 流浪_归家 阅读(1981) 评论(0) 推荐(0) 编辑
摘要:概述 该篇基于Android 10的代码。在 AMS之AMS的启动 Android Framework(Android 10) 中已经介绍了,在Android 10中,activity的调度和管理已经从AMS移到了ActivityTaskManagerService中(这里简称ATMS),这在下面关 阅读全文
posted @ 2020-09-15 00:18 流浪_归家 阅读(5262) 评论(3) 推荐(1) 编辑
摘要:概述 该篇基于AndroidQ,主要介绍系统启动中的 AMS(ActivityManagerService)的启动过程。 AMS对四大组件(AndroidQ将activity移到了ActivityTaskManagerService中,但也和AMS相关联)进行管理和调度。同时,AMS也对进程、电池、 阅读全文
posted @ 2020-09-01 23:38 流浪_归家 阅读(5207) 评论(0) 推荐(1) 编辑
摘要:前言 Binder 从java到c++到kernel,涉及的内容很多,很难在一篇文章中说清楚。这篇主要是自我记录,方便后续查询并拆分总结的。 因为涉及的的确非常多,不能面面俱到,所以可能一些地方感觉比较模糊、没说明白的。这需要自己去阅读了解。文章很长,需要耐心。 关于基础部分,并不是都要了解了才行, 阅读全文
posted @ 2020-08-09 20:31 流浪_归家 阅读(2445) 评论(3) 推荐(1) 编辑
摘要:概述 在Android中的多进程、多线程中提过,只有主线程(UI线程)可以更新UI,其他线程不可以,所以一般耗时操作放到子线程。子线程可以通过Handler将相关信息通知到主线程。 Android的消息机制主要是Handler机制。Handler的工作过程,还有两个重要部分MessageQueue( 阅读全文
posted @ 2020-07-11 22:33 流浪_归家 阅读(1560) 评论(0) 推荐(1) 编辑
摘要:apk的签名,简单说开发者可以通过签名 对应用进行标识和更新。包名在一个设备上是唯一的,这样可以避免被相同包名应用随意覆盖安装。这是一个非常重要的安全功能。系统中的签名文件,也是对系统中应用进行签名,编译应用是可以指定签名类型。 下面介绍的是Android系统中的签名相关内容。 Android系统中 阅读全文
posted @ 2020-03-08 23:13 流浪_归家 阅读(9659) 评论(1) 推荐(0) 编辑
摘要:概念 存储访问框架 Storage Access Framework (SAF),这是在Android4.4(API level 19)之后引入的。 借助 SAF,用户可轻松在其所有首选文档存储提供程序中浏览并打开文档、图像及其他文件。用户可通过易用的标准界面,以统一方式在所有应用和提供程序中浏览文 阅读全文
posted @ 2019-10-09 14:37 流浪_归家 阅读(10067) 评论(0) 推荐(0) 编辑
摘要:Android大致启动过程如图(基于O版本 使用draw.io画的)。 注:这是通过查询结合自己了解的,还有不少不明确的,后续有进展完善,欢迎指正。 说明:绿色是主要几个的阶段。其他围绕这几个阶段的重要过程。 启动过程(绿色的): 1.按下电源,引导芯片从预定义的地方(固化在ROM中),加载引导程序 阅读全文
posted @ 2019-07-09 14:54 流浪_归家 阅读(3004) 评论(1) 推荐(0) 编辑