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实例?

原文地址:https://www.cnblogs.com/qlky/p/10674723.html

时间: 2024-10-09 20:50:37

Android四大组件framework层的相关文章

Android 四大组件 与 MVC 架构模式

作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是一个设计模式,因为划分维度太大,所以MVC应该属于架构模式! 百度百科 —— MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将业务逻辑被聚集到一个部件

Android四大组件之BroadcastReceiver详细解析

什么是BroadcastReceiver? BroadcastReceiver作为Android四大组件之一,在实际开发中也发挥着重要的作用,广播机制在Android程序通信中至关重要,广播其实与我们现实生活中的电台很相似,电台在某个频道上发送它的内容,那么只要有在收听这个频道的人都会收到这些内容.在Android中,广播也同样分为两个角色:广播发送者.广播接收者. BroadcastReceiver的应用场景 1.在一个应用中,我们的Activity与Service的通信就需要用到广播来作为中

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

Android 四大组件 详解

[置顶] Android四大组件详解 分类: Android四大组件2013-02-09 16:23 19411人阅读 评论(13) 收藏 举报 Android开发 注:本文主要来自网易的一个博主的文章,经过阅读,总结,故留下文章在此 Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个

android四大组件

Activity 为应用提供了可视化用户界面,与用户进行交互 启动模式 standard singleTop singleTask singleInstance ContentProvider内容提供者 共享数据,为跨应用的数据交换提供了一个标准 insert update delete query ContentResovler uri BroadcastReceiver广播接收者 用于接收程序(包括用户开发的程序和系统内建程序)所发出的broadcastReceiver 耗电量 开机启动 窃

Android四大组件及其应用-->

android四大组件分别为:activity/service/content provider/broadcast receiver; 1.activity--> (1)一个Activity通常就是一个单独的屏幕(窗口). (2)Activity之间通过Intent进行通信. (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity. 2.service--> (1)service用于在后台完成

android四大组件之Activity - (1)从源码中理解并巧用onWindowFocusChanged(boolean hasFocus)

这里开始到后面,想趁着有时间,将Android四大组件和一些系统组件做一些总结和记录.由于网上已经有很多写的很好并且总结也全面的文章.小弟我也囊中羞涩不敢献丑,就记录一些自己觉得重要的有用的知识点,顺便大家一起学习讨论啥的也好 Activity作为四大组件之一,对于整个Android开发有多重要就无需赘言了.关于它的生命周期,这里借用下官网的图,便一目了然: 那么它的生命周期和我们所说的onWindowFocusChanged(boolean hasFocus)方法有何关系? Activity生

android四大组件学习总结以及各个组件示例(1)

android四大组件分别为activity.service.content provider.broadcast receiver. 一.android四大组件详解 1.activity (1)一个Activity通常就是一个单独的屏幕(窗口). (2)Activity之间通过Intent进行通信. (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity. (4)Activity生命周期>什么是

android四大组件--ContentProvider详解

一.相关ContentProvider概念解析: 1.ContentProvider简介 在Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences.网络存储.文件存储.外储存储.SQLite.但是我们知道一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,例如我们需要操作系统里的媒体库.通讯录等,这时我们就可能通过ContentProvider来满足我们的需求了. 2.为什么要选择Conte