这篇文章次要介绍了Android操作系统的架构设计剖析,Android零碎架构分为Linux内核驱动、C/C ++框架、Java框架、Java应用程序,本文别离解说了它的作用,须要的敌人能够参考下
之前始终在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驱动底层(内核层):
最初驱动硬件实现性能。