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

作者:junjie 时间:2022-07-12 11:02:26 

之前一直在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,系统,架构
0
投稿

猜你喜欢

  • Android实现状态栏(statusbar)渐变效果的示例

    2023-09-19 19:13:43
  • Android中使用自定义ViewGroup的总结

    2021-12-18 04:25:39
  • Android 详解Studio引用Library与导入jar

    2022-05-23 17:53:14
  • Java超详细讲解排序二叉树

    2022-12-22 22:55:17
  • ElasticSearch如何设置某个字段不分词浅析

    2023-01-29 07:22:30
  • java判断两个时间是不是同一天的方法

    2022-09-23 03:09:16
  • c# 遍历获取所有文件的示例代码

    2022-11-21 20:01:43
  • C#无损压缩图片

    2022-05-26 22:54:39
  • idea企业开发之新建各类型项目的详细教程

    2023-02-28 05:27:11
  • Android中应用多进程的整理总结

    2022-05-05 04:25:21
  • newtonsoft.json解析天气数据出错解决方法

    2022-03-10 12:23:21
  • mybatis group by substr函数传参报错的解决

    2022-09-10 03:44:34
  • Java并发CopyOnWrite容器原理解析

    2023-08-15 09:06:18
  • c#多种加解密示例(md5加密解密)

    2022-08-26 07:17:10
  • SimpleCommand实现图片下载(二)

    2023-05-21 00:25:17
  • 安卓监听屏幕的横竖翻转实现方法

    2023-04-01 07:37:12
  • Android实现便于批量操作可多选的图片ListView实例

    2021-07-17 19:24:54
  • Kotlin使用TransitionDrawable实现颜色渐变效果流程讲解

    2023-03-28 06:54:08
  • 以一个着色游戏展开讲解Android中区域图像填色的方法

    2023-02-04 10:02:51
  • C++中的auto_ptr智能指针的作用及使用方法详解

    2022-04-07 03:01:10
  • asp之家 软件编程 m.aspxhome.com