`
pcajax
  • 浏览: 2162373 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android各层调用关系,架构流程

 
阅读更多

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

分享到:
评论

相关推荐

    【Android 11】【WiFi模块】WiFi打开函数调用流程图

    Android 11 WiFi 模块 WiFi 打开函数调用流程图 Android 11 中的 WiFi 模块是如何打开的?下面是 WiFi 打开函数调用流程图的详细解释。 首先,用户打开 WiFi 时,系统会调用 WifiServiceImpl.java 中的 ...

    Android各个层次之间的相互关系

    在Android操作系统中,应用程序的执行和交互涉及到多个层次的组件,这些层次之间的关系构成了Android系统的架构。主要可以分为四个核心层次:应用程序层(App)、应用程序框架层(Runtime Service)、系统运行库层...

    Android 蓝牙A2DP java层framework 层连接流程图,非常详细的从btif-bta-btm-hci 数据流程

    Android 蓝牙A2DP java层framework 层连接流程图,非常详细的从btif-bta-btm-hci 数据流程走向,以及从controller收到数据到btm层,将Android 源码使用流程图的形式画了出来,使Android 蓝牙开发者更清楚数据收发...

    android平台sensor从底层到上层流程介绍.doc

    值得从事android hal层开发的人一看。 从这个图来看Sensor的架构还是非常的清淅, 黄色部分表示硬件,它要挂在I2C总线上 红色部分表示驱动,把驱动注册到Kernel的Input Subsystem上,然后通过Event Device把Sensor...

    高焕堂Android三层架构讲义

    【Android三层架构详解】 在移动应用开发领域,尤其是在Android系统中,为了实现高效且易于维护的软件设计,通常会采用三层架构(Three-Tier Architecture)。高焕堂老师的Android三层架构讲义深入探讨了这一主题,...

    Android系统源码短信收发流程分析

    "Android短信收发流程分析" Android 短信收发流程是 Android 系统源码中一个非常重要的模块,它负责处理短信的发送和接收过程。在这个流程中,涉及到多个组件和类别,包括 ComposeMessageActivity、WorkingMessage...

    Android Studio JNI调用.so 库

    在Android开发中,有时我们需要利用C或C++的高效性能来处理特定的计算密集型任务,或者集成已有的C/C++库。...在实际项目中,可能会涉及更复杂的内存管理、多线程和错误处理等问题,但基础的调用流程如上所述。

    Android camera架构介绍

    ### Android Camera 架构深入解析 #### 一、Android Camera 概述 Android Camera 模块作为移动设备上的核心功能之一,在系统架构设计上显得尤为重要。为了更好地理解其内部工作原理,我们首先需要对它的整体架构有...

    Android框架体系架构.pdf

    Android框架体系架构是Android开发中的核心内容,涵盖了UI晋升、组件内核、IPC(Inter-Process Communication,进程间通信)以及数据持久化等关键知识点。本文将详细介绍这些知识,以此来深入理解Android平台的运作...

    Android底层架构研究

    **Android底层架构研究** 在深入探索Android底层架构之前,我们首先需要理解其核心构成与运作原理。Android系统作为全球最广泛使用的移动操作系统之一,其底层架构的复杂性和精妙性是确保其稳定性和高效性的基石。 ...

    Android架构师手册

    《Android架构师手册》是由知名IT专家高焕堂编著的一本专为Android开发者进阶为架构师量身打造的指南。这本书详细介绍了Android开发中的高级技术和最佳实践,旨在帮助读者提升技术素养,掌握系统性解决复杂问题的...

    android wifi 的大致流程图

    Android WiFi的工作流程是一个典型的多层架构示例,从用户界面的操作到系统服务的响应,再到底层驱动的控制,每一步都紧密相连。理解这一流程对于开发人员来说至关重要,它不仅能帮助我们更好地调试问题,还能指导...

    Android WIFI架构和控制流程

    ### Android WIFI架构和控制流程详解 #### 一、WIFI的基本架构 Android系统中的WIFI架构涉及多个层次,包括用户空间的应用程序、内核空间的驱动程序以及它们之间的交互。 1. **用户空间的程序和库** - `external...

    Android Studio JNI 调用demo

    在Android开发中,JNI(Java Native Interface)是一个关键的技术,它允许Java代码和其他语言写的代码...通过这个示例,开发者可以掌握JNI的基本流程,包括创建、编译JNI代码,以及在Android应用中加载和调用本地库。

    Android 下通过反射调用加载/卸载(mount/unmount) 外置SD卡

    首先,我们需要理解Android的存储架构。Android系统将外部存储分为内部存储(Internal Storage)和外部存储(External Storage)。外部存储通常指的是SD卡,它分为内置(Internal SD Card)和外置(Removable SD ...

    Androidusb流程分析样本.doc

    Linux USB Gadget 架构的三层关系可以用一句简单的话去概括:USB Gadget 功能层调用 USB 设备层的接口,USB 设备层调用 USB 设备控制器驱动层的接口,然后 USB 设备控制器驱动层回调 USB 设备层,USB 设备层回调 USB...

    android MVP架构demo

    在Android应用开发中,MVP(Model-View-Presenter)架构是一种常见的设计模式,它将应用程序的业务逻辑、用户界面和数据模型分离,以提高代码的可测试性、可维护性和可扩展性。本Android MVP架构demo展示了如何在...

    Android代码调用C++

    在Android平台上,有时候为了利用C或C++的高效性能或者重用已有的C/C++库,开发者需要在Java代码中调用C++代码。这种技术被称为JNI(Java Native Interface),它是Android系统提供的一种机制,允许Java代码和其他...

    Android项目架构

    ### Android项目架构详解 #### 一、Android系统架构概述 Android作为一个开源的操作系统,其架构设计十分关键。本文将从不同层次对Android系统的架构进行详细分析,并重点介绍四种常见的项目架构模式:MVC(Model-...

Global site tag (gtag.js) - Google Analytics