歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

從源碼中Activity 的定義來理解 Activity

首先我們來看下源碼中源於Activity的定義:

  1. public class Activity extends ContextThemeWrapper  
  2.         implements LayoutInflater.Factory2,  
  3.         Window.Callback, KeyEvent.Callback,  
  4.         OnCreateContextMenuListener, ComponentCallbacks2 {  
  5.     ...  
  6. }  

下面我們來詳細分析每一部分的具體意義:

extends ContextThemeWrapper表示Activity本質上是一個ContextThemeWrapper,而ContextThemeWrapper具體是什麼呢?看ContextThemeWrapper在源碼中的定義:

  1. public class ContextThemeWrapper extends ContextWrapper {  
  2.     ...  
  3. }  

可見ContextThemeWrapper是一個ContextWrapper,繼續往下看: 

  1. public class ContextWrapper extends Context {  
  2.       Context mBase;  
  3.     ...  
  4. }  

ContextWrapper本質上是一個Context,context 的定義如下:  

  1. public abstract class Context {  
  2.     ...  
  3. }  

整體結構如下圖所示

 

Copyright © Linux教程網 All Rights Reserved