当前位置: 首页 > news >正文

族蚂建站怎么样公司营销策划方案案例

族蚂建站怎么样,公司营销策划方案案例,网页设计与开发第四版答案,美国美女做愛网站目录 概述 重点和难点问题 启动方式 main入口: run方法: BootstrapSevices 小结: 与其他线程的通信原理 参考文档: 概述 AMS是Android系统主要负责四大组件的启动,切换,调度以及应用程序进程管理和调度等工…

目录

概述

重点和难点问题

启动方式

main入口:

run方法:

BootstrapSevices

小结:

与其他线程的通信原理

参考文档:


概述

AMS是Android系统主要负责四大组件的启动,切换,调度以及应用程序进程管理和调度等工作。

ATMS是系统服务,管理Activities和其他容器(task,stacks,display……)

主要依靠binder的方式进行跨进程通信。

重点和难点问题

启动方式

代码位置

frameworks/base/services/java/com/android/server/SystemServer.java

frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java

frameworks/base/services/core/java/com/android/server/wm/ActivityTaskManagerService.java

frameworks/base/services/core/java/com/android/server/SystemServiceManager.java

是由SystemServer启动的服务之一

main入口:

/**

 * The main entry point from zygote.

 */

public static void main(String[] args) {

    new SystemServer().run();

}

run方法:

记录进程的启动信息

系统时间

后面再设置一下数据库的兼容性就开始进入SystemServer了

虚拟机的内存设置

bundle和线程的一些设置

然后就开始初始化本地service

创建上下文context

创建SystemServiceManager

添加系统服务,并准备线程池来初始化并行任务

然后就开始start Service了

然后初始化虚拟机,就进入Looper.loop()循环

BootstrapSevices

启动watchdog

SystemServer初始化线程池

等待installd的启动完成,以有机会有权限创建关键目录,例如:/data/user,

需要先完成这个再初始化其他的服务。

在某些情况下,启动一个app后我们需要访问设备标识符,因此需要在ActivityManager之前注册设别标识符策略。

 Uri Grants Manager.

接下来就是启动ActivityManager了

先启动 ATMS的服务,再启动AMS的服务。Android10之前,AMS是主要负责对四大组件进行管理和调度,同时AMS也会对进程,电池,内存,权限等进行管理。再Android10开始,就把Activity的管理迁移到了ActivityTaskManagerService中,ActivityTaskManagerService也被缩写为ATMS。

ATMS并不是直接启动,而是SystemServiceManager通过 Lifecycle类来间接实现。 SystemServiceManager是一个辅助类,它用于辅助SystemServer进程启动和管理SystemServer进程中的各类服务Service。

由于需要管理的服务非常多,所以SystemServiceManager是通过管理所有实现了SystemService接口的类的方式来统一的运用反射启动这些服务。

Lifecycle 是 ATMS 里的静态内部类,静态内部类不依赖于外部类,它封装了ATMS对象,同时实现了SystemService接口。Lifecycle 构造方法调用时,会初始化内部成员变量 mService,即调用ATMS的构造方法,构造方法中会执行一些初始化操作。

....

梳理一下ATMS的startService:

首先:startService()内部是运用了反射获取到了serviceClass类的对象实例service,然后再调用startService(service)。就是说ATMS将自己的服务发布到ServiceManager上去,方便其他进程调用ATMS服务。

然后,调用Lifecycle中的onStart函数,通过这个onStart函数,将ATMS的本地服务保存到LocalServices列表中。

小结:

AMS&ATMS启动流程:

  1. 是SystemServer进程中的服务
  2. 是在SystemServer进程启动的时候启动的服务
  3. 他们启动的过程是由SystemServer通过SystemServiceManager对象进行统一管理
  4. ATMS&AMS会将自己的binder发布到ServiceManger进程
  5. ATMS&AMS会将自己的本地服务发布到LocalServices列表

与其他线程的通信原理

(未完待续……)

参考:

https://blog.51cto.com/u_16099299/6562938

https://article.juejin.cn/post/7250025436016492605

AOSPXRef

http://www.yidumall.com/news/8122.html

相关文章:

  • 衢州 做网站百度热搜榜排名今日
  • 团购网站优化佛山seo网站排名
  • 安徽工程信息网官网首页做网站怎么优化
  • 深圳品牌网站建设公司排名快速收录域名
  • 太原网站推广教程济宁百度推广电话
  • 芜湖 网站建设seo教程 百度网盘
  • 网站建设实训总结封面网站关键词优化排名怎么做
  • ps切片工具做网站深圳网络公司推广平台
  • 统一汤达人选择她做汤面活动网站优化师是一份怎样的工作
  • 互联网网站开发的未来方向优化落实防控措施
  • 一个网站如何挣钱百度搜索优化怎么做
  • 运城做网站sem网络推广公司
  • 定制网站开发冬天里的白玫瑰谷歌广告联盟
  • 网站建设 用户管理湘潭营销型网站建设
  • 衡水专业网站建设公司网络推广seo怎么弄
  • 关于服饰搭配做的比较好的网站关键词排名seo
  • 新媒体运营需要哪些技能青岛seo排名扣费
  • 自己公司的网站怎么编辑石家庄高级seo经理
  • 推广做网站莱芜广州抖音seo公司
  • 公司注册地址备案流程郑州网站seo优化
  • 网站必须做公安部备案seo网络优化公司
  • 凡科微传单app软件下载国内专业seo公司
  • 昌平区事业单位公共知识培训网站百度推广官方
  • web网站开发介绍电商培训机构推荐
  • 如何设定旅游网站seo核心关键词广东深圳疫情最新
  • 企业官网响应式网站廊坊网络推广公司
  • 怎么查询网站是哪家公司做的搜索引擎推广文案
  • 新华区设计网站公司网络优化工程师工作内容
  • 做推广赚钱的网站外贸推广平台哪家好
  • 中文做英文网站抄袭东莞有哪些做推广的网站