天天看點

【Android 逆向】Android 程序簡介 ( Android 應用啟動流程 )

文章目錄

前言一、Android 程序二、Android 應用啟動流程

前言

參考 【Android 逆向】Android 系統檔案分析 ( /proc/pid 程序号對應程序目錄 | oom_adj | maps | smaps | mem | task | environ ) 部落格 , /proc/ 目錄中存放的是所有程序相關資訊 ;

一、Android 程序

Android 作業系統中運作程式 , 首先要給程式配置設定記憶體 , 除記憶體外 , 程式運作還需要 檔案 , 套接字 等維持其運作 ; 每個程式都需要一套上述機制 , 才能保證運作 ;

為了解決上述問題 , 引入程序機制 , 程序是作業系統中最小的資源排程機關 , 被排程的資源包括 CPU , 記憶體 , 存儲空間 等 ;

執行 ps -ef 可以列印出目前正在運作的所有程序 ;

程序中 , 除程序号之外 , 其它元素都可能會重複 ;

【Android 逆向】Android 程式簡介 ( Android 應用啟動流程 )

應用 與 程序 的對應關系是 一對多的關系 , 一個應用可能有多個程序 ;

一個程序 隻可能對應 一個應用 ;

二、Android 應用啟動流程

Android 中的 ActivityManagerService 就是用于管理應用程序的 ;

使用者點選應用圖示 , 請求 ActivityManagerService 啟動某個應用 , ActivityManagerService 會向 Zygote 發出建立應用的請求 , 應用程序實際上是有 Zygote 建立的 ;

zygote 也是程序 ;