客户端开发 app从桌面启动流程?

app 从桌面启动,主要包含:launcher 进程,System 进程, zygote进程,Application 进程 之间的交互。

1. 当用户点击桌面图标 会触发 Launcher 进程,launcher 进程会发出startActivity 启动命令,通知到 System进程。
2. System 进程收到通知后会判断是否为冷启动,发出创建新进程命令到Zygote 进程。
3. Zygote 进程收命令后就会fork 出一个新的进程 App 进程 (App 进程就会初始化Activity Thread)。
4. App 进程会通过Activity Manager Proxy发出命令 attachApplication 到System 进程(AMS),ams 会 发送 realStartActivity 命令到 application Thread Proxy 发送命令schedule locled Activity 到App 进程。
5. App 进程开始 发送 H-LauncherActivity 到Application Thread - Activity Thread .- Aactivity onCreate .....
全部评论

相关推荐

#腾讯音乐工作体验# 投递应该有一个月了,终于发面了,前面的笔试做的不好,都以为寄了。今天上午发邮件约面,直接约了下午。面试以八股为主,两个代码输出题,两个手写题。有几个问的还是挺难的,之前从来没见过。1.JS如何判断对象类型2.Object.prototype.toString.call()如果放进去一个Date数据类型会返回什么('[object Date]')3.基本数据类型和引用数据类型存储区别4.箭头函数普通函数5.两个代码题①输出function fn(a) {  console.log(a);  var a = 2;  function a() {  }  console.log(a);}fn(1);②页面显示和控制台(见图4)6.跨域方法7.Access-Control-Allow-Origin一般设置什么值?设置这些值有什么区别?对cookie有没有影响?(对cookie的影响这个不太清楚)8.浏览器缓存,强缓存两个关键字的区别,协商缓存的两对关键字9.etag的值是什么,怎么得到这个值10.协商缓存一般用哪个值11.什么情况下会出现文件更新了Last-Modify不更新的情况?(蒙了个更新频率太快的时候)12.CJS、ES6、AMD、CMD、UMD的理解和区别13.CSP?有什么规则和作用(这个不会)14.CSRF?如何防御15.webpack发布的原理16.有没有自己写过Plugin(一问到webpack就不会)17.Vue生命周期18.父子组件生命周期执行顺序19.双向绑定原理手写:发布订阅模式、单例模式#腾讯音乐##前端##暑期实习##软件开发2024笔面经##我的实习求职记录#
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务