全部的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各层中调用理解三种形式。