Android AMS面试题

原创
2022/05/25 21:42
阅读数 297

在Android面试中,经常会遇到与ActivityManagerService相关的面试题,ActivityManagerService是Activity的管理类,会延伸出很多的问题,下面总结如下:

1、简述ActivityManagerService的作用,什么时候初始化?

ActivityManagerService 主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作,其职责与操作系统中的进程管理和调度模块类似。

ActivityManagerService进行初始化的时机很明确,就是在SystemServer进程开启的时候,就会初始化ActivityManagerService, 可以在SystemServer类中找到相关的启动代码。

2,简述ActivityThread和ApplicationThread,以及关系和区别

ActivityThread
ActivityThread在Android中代表Android的主线程,但是并不是一个Thread类。ActivityThread类是Android 进程的初始类,它的main函数是这个App进程的入口。当创建完新进程之后,main函数被加载,然后执行一个loop的循环使当前线程进入消息循环。

ApplicationThread
ApplicationThread是ActivityThread的内部类, 是一个Binder对象。在此处它是作为IApplicationThread对象的server端等待client端的请求然后进行处理,最大的client就是AMS。

本文同步分享在 博客“xiangzhihong8”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部