Android技術20:Android的初始化流程,android初始化

來源:互聯網
上載者:User

Android技術20:Android的初始化流程,android初始化

Android系統是如何啟動的呢,應用程式是如何啟動。下面簡要介紹下初始化流程。

1.Android系統的初始化

1.1Android系統會首先啟動Linux基礎系統,然後引導載入Linux核心並啟動初始化進程Init

Linux Kernel---->Init(pid=1)

1.2啟動守護進程Daemons

    啟動Usb守護進程,管理USB串連

    啟動Android Debug Bridge守護進程管理ADB串連

    啟動Debuggerd Debug守護進程

    啟動無線介面守護進程管理無線通訊

1.3啟動守護進程的同時,會啟動Zygote進程

    建立初始化Dalvik初始化執行個體

    載入socket請求的需要的類和監聽

    建立虛擬機器執行個體來管理應用程式的進程

 

         |  Daemons

init----

         |  Zygote

1.4接下來,初始化Runtime進程

     初始化服務管理員Service Manager

     註冊服務管理員,以它作為預設的Binder服務Context管理器

1.5啟動系統服務System Service

     Runtime向Zygote發送一個請求,Zygote為系統服務建立一個Dalvik虛擬機器執行個體,並啟動系統服務,系統服務將啟動原生系統服務,主要包括Audio Flinger和Surface Flinger,這些本地系統服務將註冊到服務管理員。系統服務將啟動Android管理服務,將管理服務都被註冊到服務管理員上。

1.6系統載入完成,等待應用程式啟動

1.7Activity Manager管理器向Zygote發出一個Socket請求,Zygote通過fork機制建立一個Dalvik虛擬機器進程,來運行應用程式

    所有的應用程式進程都是Zygote進程的子進程,每一個應用程式一個進程一個虛擬機器。

    

 


android怎一次初始化20個button,並且還要設定好每個按鈕的不同監聽事件

public class MyView extends LinearLayout implements View.OnClickListener{
private Context mContext;

public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
mContext = context;
}

private void make20Buttons(){
int i = 0;
while(i<20){
Button button = new Button(mContext);
button.setTag(i);
button.setOnClickListener(this);
this.addView(button);
i++;
}
}
@Override
public void onClick(View button) {
// TODO Auto-generated method stub
if(button instanceof Button){
switch ((Integer)button.getTag()) {
case 0:

break;
case 1:

break;
case 20:
break;

default:
break;
}
}
}

}
 
怎在android程式執行初始化的時彈出一個PopupWindow 觸發的事件是在初始化的時

new一個Handler變數,在OnCreate裡面通過這個Handler去發送訊息,handler在Onmessage裡面收到訊息後,在show出來就可以了;類似的情況還有在oncreate裡面不能顯示toast之類的,要用線程去處理
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.