首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android
订阅
这里有个BUG
更多收藏集
微信扫码分享
微信
新浪微博
QQ
26篇文章 · 0订阅
深入Android系统(十)PMS-1-服务初始化
前两篇主要梳理了PMS初始化的流程和初始化的一些细节;最后一篇对应用的安装过程进行了简单梳理。 有没有注意梳理字眼,关于想要深入全面学习PMS的同学只能非常抱歉,本系列文章也仅仅是起到的主要流程的梳理作用。 阅读PMS的方法有点拆俄罗斯套娃的感觉,一层又一层。。。。 Andro…
深入Android系统(十)PMS-2-初始化的一些细节
注册Watchdog监听,此处列出它来主要是为了呼应前面的章节。哈哈哈,重点是第二点 readPermissions()方法先检测指定目录下的xml文件,然后调用readPermissionsFromXml方法来解析文件并将解析结果填充到SystemConfig对应的数据结构中…
深入Android系统(十)PMS-3-应用安装过程
研究应用的安装过程,老样子,我们还是先从使用入手。 在InstallStart中会进行各种Uri的判断,最终会跳转到一个叫做PackageInstallerActivity的界面。 PackageInstallerSession中保存了应用安装的相关数据,例如,安装包的路径、安…
深入Android系统(八)Android的资源管理
Android的优势之一是它几乎能运行在任何尺寸的设备上,为了能让同一个apk在不同设备上正常运行,Android设计了一套资源管理系统来完成目标。 Android并不是简单地将UI布局和图片进行扩大和缩小来匹配不同配置的设备,而是通过复杂的资源定义方式来保证每种设备都可以有对…
深入Android系统(七)Zygote进程
Zygote是Android中非常重要的一个进程,它和Init进程、SystemServer进程在Android中有着不可替代的地位。 Linux的进程是通过系统调用fork产生的,fork出的子进程除了内核中的一些核心的数据结构和父进程不相同外,其余的内存映像都是和父进程共享…
深入Android系统(五)Android的同步和消息机制
Android 应用的UI线程,同样采用了消息驱动模式,所有外部来的按键事件、触屏事件、各种系统Intent、广播等都会转化为内部的消息,然后在主线程中分发处理。 现在的操作系统普遍采用消息驱动模式。Windows操作系统就是经典的消息驱动类型。但是,Android的消息处理机…
深入Android系统(四)Android的JNI
Android作为一种嵌入式操作系统,有大量驱动、硬件相关的功能必须在native层实现,另外一些注重性能、功耗的功能使用C/C++来实现也优于用Java来实现。因此,在Android的开发中,无论是应用级的开发,还是系统级的开发都离不开JNI。Android在编译、应用打包和…
深入Android系统(三)Binder-1-导读与简介
对于C++层,要手动实现Bn...、Bp...等类(不知道咋写?Android中那么多支持IPC的服务,借鉴呗。好消息是现在有个HIDL可以简化开发) 想象一个自由的通信状态应该是:给我个binder驱动我可以忍受,干嘛要集成你的服务接口类啊,这么多条条框框的。我想调用哪家的I…
深入Android系统(三)Binder-3-原理
设计复杂也带来了功能的强大,正因为Binder是面向对象的,我们可以创建多个Binder实体对象来服务不同的客户,每个对象有自己的数据。相互之间不会干扰。 Binder在驱动中建立了一张所有进程的引用对象和实体对象的关联表。 为了达到这个目标,Binder定义了自己的引用计数规…
深入Android系统(二)Bionic库
咳咳,有木有发现这么多的了解字眼?因为从这几天本人大脑的表现来看,这种不常用的姿势大脑会习惯性的忘记,只能以了解来安慰自己了。。。。。 Bionic库到底是干啥用的呢?看下简介先。 其实当时已经有成熟开源的GNU Libc库了,不过GNU Libc库遵守的是GPL开源协议。GP…