国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

深入理解Activity啟動流程(一)–Activity啟動的概要流程

2019-11-08 00:01:19
字體:
來源:轉載
供稿:網友

   最詳細的Activity啟動流程分析,本文轉自:http://www.cloudchou.com/android/post-788.html

 概述

Android中啟動某個Activity,將先啟動Activity所在的應用。應用啟動時會啟動一個以應用包名為進程名的進程,該進程有一個主線程,叫ActivityThread,也叫做UI線程。

本系列博客將詳細闡述Activity的啟動流程,這些博客基于Cm 10.1源碼研究。

深入理解Activity啟動流程(二)--Activity啟動相關類的類圖深入理解Activity啟動流程(三)--Activity啟動的詳細流程1深入理解Activity啟動流程(三)--Activity啟動的詳細流程2深入理解Activity啟動流程(四)--Activity Task的調度算法

Activity啟動時的概要交互流程

用戶從Launcher程序點擊應用圖標可啟動應用的入口Activity,Activity啟動時需要多個進程之間的交互,Android系統中有一個zygote進程專用于孵化Android框架層和應用層程序的進程。還有一個system_server進程,該進程里運行了很多binder service,例如ActivityManagerService,PackageManagerService,WindowManagerService,這些binder service分別運行在不同的線程中,其中ActivityManagerService負責管理Activity棧,應用進程,task。

Activity啟動時的概要交互流程如下圖如下所示(點擊圖片可看大圖):

activity_start_flow

用戶在Launcher程序里點擊應用圖標時,會通知ActivityManagerService啟動應用的入口Activity,ActivityManagerService發現這個應用還未啟動,則會通知Zygote進程孵化出應用進程,然后在這個dalvik應用進程里執行ActivityThread的main方法。應用進程接下來通知ActivityManagerService應用進程已啟動,ActivityManagerService保存應用進程的一個代理對象,這樣ActivityManagerService可以通過這個代理對象控制應用進程,然后ActivityManagerService通知應用進程創建入口Activity的實例,并執行它的生命周期方法。

后續博客將介紹Activity的詳細啟動流程。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 循化| 正镶白旗| 北安市| 天峨县| 明光市| 资阳市| 吴堡县| 石首市| 黄浦区| 琼结县| 社旗县| 武安市| 邵阳市| 师宗县| 红桥区| 安化县| 凌海市| 探索| 永昌县| 云龙县| 盘山县| 巴青县| 大安市| 黄大仙区| 达州市| 启东市| 吉安市| 神木县| 呼伦贝尔市| 炉霍县| 中西区| 永吉县| 昌邑市| 五华县| 上栗县| 江山市| 共和县| 谷城县| 基隆市| 深州市| 漳平市|