Context簡單說明 原始碼分析

2021-07-10 11:46:08 字數 1747 閱讀 7845

標籤: android

context

2015-11-27 13:54

156人閱讀收藏 

舉報

android(42)

public

mbase = base;

}protected

void

attachbasecontext(context base)

mbase = base;

}

public

final

void

attach(

context context,

activitythread thread, string classname, ibinder token,

//呼叫父類的方法初始化context,使得servcie具有context的能力

attachbasecontext(context);

mthread = thread; // note: unused - remove?

mclassname = classname;

mtoken = token;

mactivitymanager = (iactivitymanager)activitymanager;

< build.version_codes.eclair;

}

final

void attach(context context, activitythread athread,

instrumentation instr, ibinder token, int ident,

charsequence title, activity parent, string id,

nonconfigurationinstances lastnonconfigurationinstances,

configuration config)

private final activity performlaunchactivity(activityclientrecord r, intent customintent) 

return activity;

}

protected decorview generatedecor()
在phonewindow中對decorview進行初始化,初始化的過程中層層呼叫super(content)從而完成了對view的content的設定! 

decorview設定的content是通過phonewindow的getcontent來獲取的。在《windowmanger雜談》這篇部落格中已經知道在activity的attach方法中通過 

mwindow = policymanager.makenewwindow(this);來初始話phonewindow,makenewwindow中this就是指的activity這個context:

public

static window makenewwindow(context context)

//此正式初始化activity中mwindow物件的地方

public phonewindow makenewwindow(context context)

到此本篇簡單的部落格正式結束,如有不當之處歡迎批評指正!

Rome使用簡單說明二 部分關鍵原始碼分析

parser部分 解析 com.sun.syndication.io.syndfeedinput input new com.sun.syndication.io.syndfeedinput 呼叫public syndfeedinput public syndfeedinput boolean va...

FormatMessage簡單說明

常用引數簡介.formatmessage format message from system format message allocate buffer,null,lval,null,lptstr hlocal,0,null 第乙個引數是標誌,告訴這個formatmessage函式,我想要的特點...

Subversion 簡單說明

subversion 簡單說明 checkout 從源 管理伺服器取出 commit 提交更新的 到源 管理伺服器。update 從源 管理伺服器獲取 的最新更新。export 從源 管理伺服器匯出 匯出的 將脫離源 管理。revert 將當前資料恢復到最近與伺服器同步的版本,即放棄自己的所有未提交...