全部的android的app啓動都有三種深刻啓動的方式:android
①app——Runtime Service——Libapp
這種啓動方式是:socket
Ⅰapp程序中啓動application framework 層中Runtime Service blog
ⅡRuntime Service經過jni調用Libray層中的Native Binding進程
ⅢNative Binding經過動態加載的方式來調用HAL Library層的東西io
ⅣHAL Library再調用Linux Kernel的東西 相應示意圖以下:service
②app——Runtime Service——Native Service——Lib程序
Ⅰapp調用application frame work 中的runtime serviceim
Ⅱruntime service 經過jni機制來調用natvie service binding d3
Ⅲnative service binding 經過遠程的IPC機制來調用native service
ⅣNative Service經過動態加載的方式來調用HAL Library層的東西
ⅤHAL Library再調用Linux Kernel的東西 相應的示意圖以下:
③app——Runtime Service——Native Deamon——Lib
Ⅰapp調用application frame work 中的runtime service
Ⅱruntime service 經過jni機制來調用natvie service binding
Ⅲnative service binding 經過socket機制調用native deamon 進程
Ⅳnative deamon 進程經過動態加載的方式來調用HAL Library層的東西
ⅤHAL Library再調用Linux Kernel的東西 相應的示意圖以下:
這就是app在android各層中調用理解三種形式。