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层的更多相关文章

  1. Android 四大组件 与 MVC 架构模式

    作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是 ...

  2. Android四大组件之Activity--管理方式

    1. 概览 Activity的管理有静态和动态两层涵义: 静态是指Activity的代码组织结构,即Application中声明的Activity的集合,这些Activity被组织在一个APK中,有特 ...

  3. Android——四大组件、六大布局、五大存储

    一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...

  4. Android四大组件之Service浅见

    Service 是Android四大组件之一,可以在不显示界面的情况下在后台运行.还有一个作用是通过AIDL来实现进程间通信. Service的启动方式 Service的启动方式有两种,startSe ...

  5. Android四大组件之一“广播”

    前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...

  6. android四大组件(简单总结)

    activity 一个Activity通常就是一个单独的屏幕(窗口) Activity之间通过Intent进行通信 android应用中每一个Activity都必须要在AndroidManifest. ...

  7. android四大组件之Broadcast

    广播的概念 现实中:我们常常使用电台通过发送广播发布消息,买个收音机,就能收听 Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件.Androi ...

  8. Android 四大组件之再论service

    service常见的有2种方式,本地service以及remote service. 这2种的生命周期,同activity的通信方式等,都不相同. 关于这2种service如何使用,这里不做介绍,只是 ...

  9. Android四大组件及activity的四大启动模式

    Android四大组件 1. 广播接收者的两种类型: (1)系统广播接收者,就是继承BroadcastReceiver这个类,然后还要在清单文件中注册,注册之后给他一个action.当系统发生了这个a ...

随机推荐

  1. C# MemoryStream BinaryReader

    不清楚这类东西内部搞什么鬼,直接看代码才舒爽 https://referencesource.microsoft.com/#mscorlib 然后可以在线测试 https://www.tutorial ...

  2. Others - On Duty

    On Duty This is xxx and will be duty engineer in the next week. Thanks. Here is a kindly reminder. T ...

  3. element-ui table 最后一行合计,单元格合并

    接着写两个方法--最后一行合计的方法 --单元格合并的方法 先写一个rowspan方法,计算出spanArr数组是怎么单元格合并的,注意rowspan方法要在渲染完成之前使用,可以在mounted中使 ...

  4. Flask 微博三方登录

    1.进入微博开发平台(https://open.weibo.com/),注册账号,填写开发者信息 2.创建应用.创建应用完成后,可以在"我的应用 - 应用信息"中查看您所创建应用的 ...

  5. odoo开发环境搭建(四):python开发工具IDE pycharm配置

    odoo开发环境搭建(四):python开发工具IDE pycharm配置

  6. gradle构建工具

    在使用android studio开发android程序时,as就是基于gradle进行构建的,我们只需要通过run就可以编译.打包.安装,非常方便,但是究竟gradle是什么呢?  一.java构建 ...

  7. 【VC版】如何获取其他进程中ListView控件中的内容

    如果需要C#版的,可以看下我之前写的:C#如何获取其他程序ListView控件中的内容 获取其他进程的数据需要使用到以下几个函数: VirtualAllocEx() VirtualFreeEx() W ...

  8. Google Optimization Tools实现员工排班计划Scheduling【Python版】

    上一篇介绍了<使用.Net Core与Google Optimization Tools实现员工排班计划Scheduling>,这次将Google官方文档python实现的版本的完整源码献 ...

  9. Intent的那些事儿

    请原谅我用这么文艺的标题来阐释一颗无时无刻奔腾着的2B青年的心.可是今天要介绍的Intent绝不2B,甚至在我看来,或许还有些许飘逸的味道,至于飘逸在哪里呢?那我们就好好来剖析剖析Intent和它的好 ...

  10. linux解压zip乱码解决方案

    1.向系统添加windows下的字符编码: sudo vim  /var/lib/locales/supported.d/local 添加一下编码: zh_CN.GBK GBK zh_CN.GB231 ...