android四大组件在哪层,Android四大组件framework层

activity

https://www.kancloud.cn/alex_wsc/android-deep2/413484

当前Activity

Activity向AMS发送StartActivity的逻辑?

startActivity调用了AMS的什么方法?

ActivityStack

ActivityStack的成员结构?

ActivityStack的mHistory队列保存的是所有Task的ActivityRecord还是单个Task?

ActivityStack为什么没有保存TaskRecord的信息?*有什么优缺点?

在ActivityStack中如何搜索ActivityRecord?*

启动模式和flag有哪些?

在ActivityStack的startActivityLocked()主要做了什么工作?

startActivityLocked中的sourceRecord和resultRecord处理了什么逻辑?

startActivityUncheckedLocked如何为activityRecord找到合适的Task?

如何判断activity需不需要一个新的Task? sourceRecord, lauchmode, flag的关系?

startActivityUncheckedLocked的主要工作?

resumeTopActivityLocked中如何处理pauseActivity这个逻辑?

startSpecificActivityLocked如何查找目标activity所在的进程(向什么)?如果进程不存在怎么办?

startProcessLocked将给什么进程发信息创建新进程?创建新进程后要做什么?

Activity进程的创建

ActivityThread的main主要做了什么?attachApplication又做了什么?

ActivityThread的performLaunchActivity如何创建目标Activity?

原Activity的stop

在什么时候会调用ActivityStack的stopActivityLocked

stopActivityLocked中visable信息的不同会有什么影响?

broadcast

https://www.kancloud.cn/alex_wsc/android-deep2/413486

对于静态注册,Java会通过什么创造广播实例?

broadcast动态广播接收

ContextImpl的registerReceiverInternal主要做了哪两个工作?IIntentReceiver接口的作用是什么?

AMS的registerReceiver主要做了什么?为什么需要ReceiverList来保存BroadcastFilter?

广播发送

ContextImp的broadcastIntentLocked主要工作有哪些?

ordered广播和非ordered广播处理逻辑的差异?

mOrderedBroadcasts队列和mParallelBroadcasts队列的区别?AMS对这两个队列的处理逻辑?

为什么静态接收者的广播都存在mOrderedBroadcasts队列,不在mParallelBroadcasts?

静态接收者的进程不存在的话怎么办?

广播接收

LoadedApk.java的performReceive传递给主线程handler的args是个什么对象?

LoadedApk.java的Args.run做了什么工作?

Service

https://www.kancloud.cn/alex_wsc/android-deep2/413494

service进程的查找

AMS的retrieveServiceLock()向什么查找是否有符合条件的Service?

service进程的初始化

ActivityThread的handle_createService用什么创建Service实例?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值