![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
framework
huaxun66
这个作者很懒,什么都没留下…
展开
-
Framework学习(三)SystemServer进程启动过程
SyetemServer进程的启动在上一篇文章Framework学习(二)Zygote进程启动过程中,我们已经知道Zygote进程会启动SyetemServer进程,但具体启动流程还没有涉及,本文我们就来看看SyetemServer进程具体启动过程。首先回顾下ZygoteInit#startSystemServer()函数:frameworks/base/core/java/com/android/原创 2017-09-30 16:17:29 · 4645 阅读 · 0 评论 -
Framework学习(七)AMS家族
相信绝大部分读者对ActivityManagerService(简称AMS)都有所耳闻。AMS是Android中最核心的服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作,其职责与操作系统中的进程管理和调度模块相类似,因此它在Android中非常重要。AMS启动流程在Framework学习(三)SystemServer进程启动过程这篇文章我们简单介绍过SystemServer原创 2017-10-07 14:04:11 · 3196 阅读 · 0 评论 -
Framework学习(八)Service的启动/绑定过程
之前的文章Framework学习(五)应用程序启动过程我们讲解过了应用程序(Activity)的启动过程,本篇我们来看看Service的启动/绑定过程。Service的启动过程ContextImpl请求AMS要启动Service,我们会调用startService方法,它的实现在ContextWrapper中。frameworks/base/core/java/android/content/Con原创 2017-10-09 14:30:18 · 1872 阅读 · 0 评论 -
Framework学习(六)应用程序进程启动过程
概述上篇文章Framework学习(五)应用程序启动过程我们讲解了应用程序启动过程,但是还有一个遗留知识点,那就是应用程序进程的启动。我们知道应用程序启动之前需要保证应用程序的进程先启动,本文我们就来看看应用程序进程的启动过程。AMS在启动应用程序时会检查这个应用程序需要的应用程序进程是否存在,不存在就会请求Zygote进程将需要的应用程序进程启动。在Framework学习(二)Zygote进程启动原创 2017-10-03 18:17:56 · 2002 阅读 · 0 评论 -
Framework学习(九)Broadcast的注册、发送和接收过程
广播的注册BroadcastReceiver的注册分为两种:静态注册和动态注册。静态注册在应用安装时由PackageManagerService来完成注册过程。这里只介绍BroadcastReceiver的动态注册。动态注册BroadcastReceiver,需要调用registerReceiver方法,它的实现在ContextWrapper中。frameworks/base/core/java/a原创 2017-10-10 10:41:50 · 2330 阅读 · 0 评论 -
Framework学习(十一)WindowManager体系
Window、WindowManager和WMSWindow是一个抽象类,具体的实现类为PhoneWindow,它是对View进行管理的。WindowManager是一个接口类,继承自父接口ViewManager,它是用来管理Window的,它的具体实现类为WindowManagerImpl。WMS是WindowManager进行窗口管理的具体实施者,如果我们想要对Window进行添加和删除就原创 2017-10-26 15:56:38 · 1932 阅读 · 1 评论 -
Framework学习(十)Content Provider启动过程
关于Content Provider的使用请参考Android ContentProvider全面解析这篇文章。query方法到AMS的调用过程在上述文章中我用到了Content Provider查询数据库的例子如下:private void query() { Cursor cursor = this.getContentResolver().query(mCurrentURI,原创 2017-10-10 17:01:40 · 1266 阅读 · 0 评论 -
Framework学习(二)Zygote进程启动过程
android系统进程启动流程android系统的Zygote进程是所有android进程的父进程,包括SystemServer和各种应用进程都是通过Zygote进程fork出来的。Zygote(孵化)进程相当于是android系统的根进程,后面所有的进程都是通过这个进程fork出来的,而Zygote进程则是通过linux系统的init进程启动的,也就是说,android系统中各种进程的启动方式:i原创 2017-09-30 11:11:08 · 6358 阅读 · 0 评论 -
Framework学习(一)Android 系统架构
Android系统架构Android本质就是在标准的Linux系统上增加了Java虚拟机Dalvik/ART,并在Dalvik/ART虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。应用程序层原创 2017-09-29 16:59:41 · 21801 阅读 · 6 评论 -
Framework学习(四)Launcher启动过程
Launcher概述上一篇文章Framework学习(三)SyetemServer进程启动过程中我们讲解了SystemServer进程的相关知识,我们知道SystemServer进程主要用于启动系统的各种服务,其中就包含了Launcher服务,LauncherAppService。Android系统默认第一个启动的应用程序是Home应用程序,这个应用程序用来显示系统中已经安装的应用程序,这个Home原创 2017-10-01 22:58:14 · 3273 阅读 · 0 评论 -
Framework学习(五)应用程序启动过程
在Android系统中,启动四大组件中的任何一个都可以启动应用程序。但绝大部分时候我们是通过点击Launcher图标来启动应用程序。本文依据Android7.0源码,从点击Launcher图标开始,分析应用程序的启动过程,其实就是分析根Activity的启动过程。Launcher请求AMS在Framework学习(四)Launcher启动过程 这篇文章我讲过Launcher启动后会将已安装应用程序的原创 2017-10-02 15:59:15 · 3519 阅读 · 0 评论