所有的android的app启动都有三种深入启动的方式:

  ①app——Runtime Service——Lib

  这种启动方式是:

  Ⅰapp程序中启动application framework 层中Runtime Service

  ⅡRuntime Service通过jni调用Libray层中的Native Binding

  ⅢNative Binding通过动态加载的方式来调用HAL Library层的东西

  ⅣHAL Library再调用Linux Kernel的东西 相应示意图如下:

  ②app——Runtime Service——Native Service——Lib

  Ⅰapp调用application frame work 中的runtime service

  Ⅱruntime service 通过jni机制来调用natvie service binding

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

更多相关文章

  1. WebView Android(安卓)调用js且须要获取返回结果
  2. Android端JQueryMobile使用教程(二)
  3. 全屏与非全屏动态切换的正确方式
  4. Android(安卓)四大组件(Activity、Service、BroadCastReceiver、
  5. Android(安卓)实现沉浸式只需一行代码
  6. 第99章、Android调用Javascript(从零开始学Android)
  7. android service 学习(上)
  8. Android中WebView使用规范
  9. android中listview的setAdapter()和getAdapter()

随机推荐

  1. RecylcerView中的子view matchParent属性
  2. android webkit 打开debug调试信息
  3. android定义可以被其他程序调用的activit
  4. 定制Android之4G-LTE模块驱动
  5. 【Android】数据存储之Files
  6. android中从图库中选取图片
  7. Android动画学习笔记-Android(安卓)Anima
  8. Android(安卓)NDK概述
  9. Android视频开发国人开发的Vitamio开源项
  10. android学习之LinearLayout