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

Android AMS——创建APP进程(五)

         接上一篇,在 ActivityTaskSupervisor 中会判断进程是否存在,如果进程不存在,则会创建进程,执行 startProcessAsync() 方法。如果进程存在,则执行 realStartActivityLocked() 方法。在APP 的启动时,进程是不存在的。所以我们先来分析一下进程不存在的情况。

一、创建进程

1、ActivityTaskManagerService

源码位置:/frameworks/base/services/core/java/com/android/server/wm/ActivityTaskManagerService.java

startProcessAsync

void startProcessAsync(ActivityRecord activity, boolean knownToBeDead, boolean isTop, String hostingType) {try {if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) {Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "dispatchingStartProcess:" + activity.processName);}// 发送消息以启动进程,以避免在持有ATMS锁的情况下调用AMS时可能出现的死锁。final Message m = PooledLambda.obtainMessage(ActivityManagerInternal::startProcess,mAmInternal, activity.processName, activity.info.applicationInfo, 
http://www.lryc.cn/news/179424.html

相关文章:

  • 凉鞋的 Unity 笔记 102. 场景层次 与 GameObject 的增删改查
  • 信息安全:网络安全审计技术原理与应用.
  • 嵌入式Linux应用开发-第十三章APP怎么读取按键值
  • Web 中间件怎么玩?
  • HMTL知识点系列(4)
  • CFS内网穿透靶场实战
  • 【RabbitMQ实战】07 3分钟部署一个RabbitMQ集群
  • PS 切片工具 选择切片 切片存储
  • Git版本控制系统
  • Element UI搭建首页导航和左侧菜单以及Mock.js和(组件通信)总线的运用
  • What is an HTTP Flood DDoS attack?
  • 第 114 场 LeetCode 双周赛题解
  • [Java框架] Java常用爬虫框架推荐
  • Kafka:安装与简单使用
  • 029-从零搭建微服务-消息队列(一)
  • Python2020年06月Python二级 -- 编程题解析
  • 差分放大器的精髓:放大差模信号 抑制共模信号
  • 蓝桥等考Python组别九级006
  • 初级篇—第五章子查询
  • 【AntDesign】封装全局异常处理-全局拦截器
  • Visual Studio 代码显示空格等空白符
  • 紫光同创FPGA图像视频采集系统,基于OV7725实现,提供工程源码和技术支持
  • 京东大型API网关实践之路
  • 图像处理: 马赛克艺术
  • postgresql-管理数据表
  • Llama2-Chinese项目:3.1-全量参数微调
  • 蓝桥等考Python组别十级001
  • 记录 Git 操作时遇到的问题及解决方案
  • 第一届“龙信杯”电子数据取证竞赛Writeup
  • Vue与React//双绑问题