Android操作系统的架构设计分析

Mora ·
更新时间:2024-09-21
· 661 次阅读

之前一直在Android应用层上做工作,最近开始研究Android平台上的东东了,主要是在Android Frameworks层和系统库层进行研究。以下是我自己的理解,领悟,希望与大家一块分享。
Android系统架构分为Linux内核驱动、C/C ++框架、Java框架、Java应用程序。

Android应用层:

Android应用程序需要Java框架支持。主要是针对手机用户的。Android应用层都是由Java代码写的,运行在虚拟机中。虚拟机在Android平台中扮演着很重要的角色。虚拟机在执行Java类的过程中,如果Java类需要与C/C++组件沟通时,虚拟机会载入C/C++组件,然后让Java函数顺利的调用到C/C++组件的函数。Java与C/C++能通过标准的JNI界面相互沟通。
注:Java类是在虚拟机上运行的,C/C++不是在虚拟机上执行的。那么如何加载C/C++组件函数的呢?
答案是:通过System.loadLibrary(*.so的档案名);入口函数是JNI_OnLoad();

Frameworks框架层(应用框架层):

Java框架就是由C/C++库包装成为了一个JNI。简称Java Native Interface,即Java本地接口。在应用层和系统库层之间起了一个桥梁的作用。主要是针对手机开发商。

C/C++框架(系统库):

具体实现Java框架功能。Java框架中的native方法都是由C/C++来完成的。

Android驱动底层(内核层):

最后驱动硬件完成功能。
系统架构图如下:


您可能感兴趣的文章:Android利用方向传感器获得手机的相对角度实例说明Android 利用方向传感器实现指南针具体步骤Android 操作系统获取Root权限 原理详细解析android 传感器(OnSensorChanged)使用介绍Android重力传感器实现滚动的弹球Android操作系统之内存回收策略Android操作系统介绍之11种传感器



android操作系统 系统 架构设计 Android 架构

需要 登录 后方可回复, 如果你还没有账号请 注册新账号