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,系统,架构
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