這裏主要解釋一下帶有獨立進程的應用進程名之間存在什麼樣的關係。你們想必在工做中常常能遇到相似這樣的進程現象,這裏以騰訊視頻爲例:android
com.ktcp.video數據結構
com.ktcp.video:pushtcp
com.ktcp.video:upgradeide
第一個很明顯,是主應用的進程,下邊帶冒號:的通常都是經過在manifest中聲明android:process來指定的一個獨立進程。這裏每個進程在系統framework中都有一個對應的ProcessRecord數據結構來維護各個進程的狀態信息等。視頻
雖然這樣的進程從數據結構層面都是相互獨立的,但實際運行中這些進程都對應同一個Package或者說PackageName,能夠從ProcessRecord中獲取Package Name來驗證。進程
另外須要注意的是:ProcessRecord.processName獲取的是每一個獨立進程的完整名字,也就是帶冒號:的名字;而經過ProcessRecord.info.processName獲取的是主應用進程的進程名,也就是不帶有冒號:的名字。這點你們在開發過程當中須要注意下。開發