从源码中Activity 的定义来理解 Activity
从源码中Activity 的定义来理解 Activity
首先我们来看下源码中源于Activity的定义:
- public class Activity extends ContextThemeWrapper
- implements LayoutInflater.Factory2,
- Window.Callback, KeyEvent.Callback,
- OnCreateContextMenuListener, ComponentCallbacks2 {
- ...
- }
下面我们来详细分析每一部分的具体意义:
extends ContextThemeWrapper表示Activity本质上是一个ContextThemeWrapper,而ContextThemeWrapper具体是什么呢?看ContextThemeWrapper在源码中的定义:
- public class ContextThemeWrapper extends ContextWrapper {
- ...
- }
可见ContextThemeWrapper是一个ContextWrapper,继续往下看:
- public class ContextWrapper extends Context {
- Context mBase;
- ...
- }
ContextWrapper本质上是一个Context,context 的定义如下:
- public abstract class Context {
- ...
- }
整体结构如下图所示
|
评论暂时关闭