ContentProvider原理分析 Posted on 2019-09-10 基于Android10.0,分析ContentProvider原理 一、概述ContentProvider用于提供数据的统一访问格式,封装具体的实现。对于数据的使用无需知道是数据库、文件、网络,只需要使用ContentProvider的数据操作接口,即增(insert)删(delete)改(up ... Read more »
startServie启动过程 Posted on 2019-08-31 基于Android10.0,分析startService的启动过程 一、概述前面已经介绍了详细介绍了管理Android四大剑客Activity、Service、Broadcast、ContentProvider的ActivityManagerService启动的详细流程,这里讲从应用startS ... Read more »
startActivity启动过程 Posted on 2019-08-15 基于Android10.0,分析startActivity的启动过程 一、概述startActivity的整体流程和startService相近,启动后都是通过AMS来完成的。但相比service启动更加复杂,多了任务栈、UI、生命周期。其启动流程如下: 二、启动流程启动Activity,一般 ... Read more »
AMS启动流程分析 Posted on 2019-08-07 基于Android10.0,分析AMS的启动过程 一、概述ActivityManagerService(简称AMS),是Android系统中核心服务之一,负责管理四大组件和应用进程的工作,如四大组件的启动、切换、调度,应用进程的调度等。AMS类图如下: ActivityManager通过Act ... Read more »
WMS启动流程分析 Posted on 2019-07-20 基于Android10.0,分析WMS的启动过程 一、概述WindowManagerService作为Android系统中重要的服务,管理所有的窗口和输入事件的中转站,其相关类如下。 1.1 WMS类族 WMS继承于IWindowManager.Stub,作为Binder服务端 成员变量mSes ... Read more »
android系统编译方法 Posted on 2019-07-11 1.下载好系统代码(ROM公司有自己的服务器下载) 2.进入到android系统代码根目录 123source build/envsetup.sh lunch (选择相应的分支)make -j32 3.在某些情况下需要分模块编译 12345678910111213//系统imgmake system ... Read more »
PackageManagerService启动流程分析 Posted on 2019-06-30 基于Android10.0,分析PackageManagerService启动 一、PakageManagerService概述1.1 作用PakageManagerService(简称PKMS),是Android核心服务之一,管理着所有package相关的工作。 如:安装、卸载应用 ... Read more »
PKMS相关类分析 Posted on 2019-06-10 1.Settings类1234567891011121314151617181920// Settins文件 data/system/packages.xmlprivate final File mSettingsFilename;//这个文件不一定存在,是备份文件,如果存在则说明更新package ... Read more »
installd守护进程 Posted on 2019-06-02 PackageManagerService真正干活的是installd,通过Native Binder调用。 为什么需要installd守护进程?因为权限问题,PKMS只有system权限,installd却具有root权限。 在SystemServer中installd服务启动 1、客服端实现12 ... Read more »
fstrim解析 Posted on 2019-05-26 fstrim提升磁盘性能,缓解Android卡顿 Android手机刚购买时非常流畅,但是使用不到一年之后都会“卡顿”。那么是什么原因造成的呢? 长期使用Android手机将产生大量的磁盘碎片,而磁盘碎片将会降低磁盘的读写性能,从而影响系统流畅度。 1. Android磁盘的读写机制Android手 ... Read more »
Android dex,odex,oat,vdex,art文件结构 Posted on 2019-05-20 在installd守护进程中有提到dexopt的操作,最后执行的操作是 run_dex2oat。本文将对dex和oat文件格式进行介绍分析。 1234567891011121314151617181920run_dex2oat(input_fd.get(), out_ ... Read more »
Android系统SystemServer启动(下) Posted on 2019-05-18 基于Android10.0,分析SystemServer启动 一、SystemServer启动上一节中讲到了从开机到SystemServer中main方法的启动过程,下面将介绍下SystemServer中的main方法,该方法主要执行的主要流程如下: 1234567SystemServer.ma ... Read more »
Android系统SystemServer启动(上) Posted on 2019-05-16 1.0 前言当按下终端的电源键到看到Home界面,这个过程需要经过Android系统体系结构中的内核层、运行层、框架层、应用层。本文只介绍到SystemServer启动(代码基于android 8.1),引用gityuan的一张整体框架图。 1.1 内核启动前准备当电源键按下之后,引导芯片的代码 ... Read more »
hexo+github搭建个人博客 Posted on 2019-05-12 本来想用hugo建立个人博客,但是那个主题的文章目录太不友好了,找了很久没办法,只能用hexo了,在hexo中找到了比较合适的模块就用hexo建立个人博客了,以后基本上就用这个模板了,也记录下建立的方式吧! 一、搭建本地环境1、安装Git,下载地址:点击 下载后,按提示进行安装即可,作用是:把本地的 ... Read more »
hugo+github搭建个人博客 Posted on 2019-05-04 前记最近想自己建立个人的博客,也很久没写过博客,趁着这个学习过程,记录一下hugo+github搭建个人博客。当时看到一个个人博客,排版挺好的,就复制了那个博客版本,建立了本博客。Markdown格式用的编辑工具是Typora。通过该文,你将会在短时间建立个人的博客。 环境准备1.github安装基 ... Read more »