Android四大组件framework层

Posted qlky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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实例?

 

以上是关于Android四大组件framework层的主要内容,如果未能解决你的问题,请参考以下文章

Android四大组件完全解析---Activity

Android 四大组件 - 进程的 fork 创建过程

Android 四大组件 - bindService 的通信过程

framework层服务分析

Android的四大组件是哪些,它们的作用

Android N 四大组件的工作原理