我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android系统架构概况

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android系统架构概况

  Android的架构图如下,图中按照功能结构及面向人群进行划分,可以看出Android分成三个部分:

  应用部分:包含在Android设备上运行的所有应用,它们是Android系统中直接面向用户的部分。

  核心部分: Android系统中核心的功能实现,包括应用框架、核心类库等,每个Android应用的开发者,都是在此基础上进行应用开发的。

  底层部分:主要指Android寄宿的Linux操作系统及相关驱动。通常来说,只有硬件厂商和从事Android移植的开发者,才会基于此来进行开发。

  除了上述划分方式以外,从系统实际的架构模型来看,Android则可以分成以下几个层次:

  应用层

  框架层

  运行时

  核心类库

  硬件抽象层

  Linux内核

  本文的后续内容将针对以上各层逐一进行分析。

  1.1.1 应用层

  对于普通的用户而言,只能通过具体的应用来判断移动平台的优劣。即便一个移动平台具有华丽的技术,但是如果不能给用户提供得心应手的应用,顶多也只能赢得无冕的名头,而无法抓住用户的心,赢得市场的认可。

  Android应用层由运行在Android设备上的所有应用共同构成,它不仅包括通话、短信、联系人等系统应用(随Android系统一起预装在移动设备上),还包括其他后续安装到设备中的第三方应用。

  第三方应用都是基于Android提供的SDK(Software Development Kit)进行开发的,并受到SDK接口的约束。而预装在设备中的系统应用,则可以调用整个框架层的接口和模块,其中的很多接口在SDK中是隐藏的,因此,系统应用具有比第三方应用更多的权利。

  Android的应用都是基于Java语言来开发的,但在很多应用(尤其是游戏)中,需要进行大规模的运算和图形处理,以及使用开源C/C++类库。通过Java来实现,可能会有执行效率过低和移植成本过高等问题。因此在Android开发中,开发者可以使用C/C++来实现底层模块,并添加JNI(Java Native Interface)接口与上层Java实现进行交互,然后利用Android提供的交叉编译工具生成类库并添加到应用中。

  为了让应用开发者能够绕过框架层,直接使用Android系统的特定类库,Android还提供了NDK(Native Development Kit),它由C/C++的一些接口构成,开发者可以通过它更高效地调用特定的系统功能。

  但在Android上,开发者通常只能使用C/C++编写功能类库,而不是整个应用。这是因为,诸如界面绘制、进程调度等核心机制是部署在框架层并通过Java来实现的,应用只有按照它们规定的模式去编写特定的Java模块和配置信息,才能够被识别、加载和执行。

  小贴士 从Android 2.3(API 9)开始,新增了android.app.NativeActivity类,它是通过调用预定义的JNI接口来实现的。开发者可以基于NDK,通过C/C++语言来实现具体功能。这意味着,开发者仅通过C/C++语言能实现整个应用。这对于游戏开发者而言是一大喜讯,但由于控件在Android中并没有Native的实现,普通的应用开发者通常还是需要通过Java来实现上层界面。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android系统架构概况

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android系统架构概况

Android的架构图如下,图中按照功能结构及面向人群进行划分,可以看出Android分成三个部分:应用部分:包含在Android设备上运行的所有应用,它们是Android系统中直接面向用户的部分。核心部分: Android系统中核心的功能
2022-06-06

Android App的运行环境及Android系统架构概览

Android基于linux内核,面向移动终端的操作系统。主要包括以下几个方面: Application Framework: 这一层为应用开发者提供了丰富的应用编程接口,如 Activity Manager,Content Provide
2022-06-06

002-android系统架构和分区

android的系统架构主要分为5层,包括应用层,应用框架层,核心库与运行环境层,Linux内核层。应用层: 提供了一些核心应用程序包,用来存放应用程序,主界面,联系人,浏览器,日历等。 android应用程序的界面,主要是由java程序编
2022-06-06

Android操作系统的架构是什么

Android操作系统的架构主要包括四个层级:Linux内核层:Android操作系统使用Linux内核作为基础,提供了与硬件交互的基本功能,包括进程管理、内存管理、驱动程序支持等。库层:包括Android Runtime、核心库以及面向不
Android操作系统的架构是什么
2024-04-03

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

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

Oracle系统结构概述二(实例结构)

原文:https://www.cnblogs.com/CX66/p/13966144.html
Oracle系统结构概述二(实例结构)
2015-08-14

系统架构师考点:信息和信息化的概念区别

  信息和信息化的概念是软考系统架构师的一个考点,今天小编就为大家带来什么是信息、信息的基本属性、信息化概念、信息化对组织的意义的内容,希望能帮助大家掌握信息和信息化的概念区别。  系统架构师是软考中级资格之一,很多考生备考时对信息和信息化的概念区别不是很清楚,今天小编就为大家带来相关介绍:  一、什么是信息  维纳(
系统架构师考点:信息和信息化的概念区别
2024-04-19

Android体系架构和开发库

Android的体系架构鼓励组件重用,允许开发者发布共享Activity、Service并且访问其他应用程序的数据,还可以根据开发者制定的安全限制进行管理。话虽如此,我将分享一些关于Android架构和开发库信息,供开发者创建下一个杀手级应
2022-06-06

浅析Android系统的架构以及程序项目的目录结构

Android框架结构 直接上图:由上图,我们可以看出Android系统架构由5部分组成, 分别是:Linux Kernel(linux内核)、Android Runtime(运行时环境)、Libraries(类库)、Application
2022-06-06

大型web系统架构详解

动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。  
2023-06-02

Linux系统架构的新视角

Linux系统架构是一个深度复杂的体系,它由多个层次的组件构成,每个组件都有不同的功能和定位。传统上,Linux系统的架构被划分为内核空间和用户空间两部分,内核空间包括内核和设备驱动程序等核心组件,用户空间包括应用程序和用户接口等高层组件。
Linux系统架构的新视角
2024-08-07

Tomcat系统架构是怎样的

这篇文章主要介绍“Tomcat系统架构是怎样的”,在日常操作中,相信很多人在Tomcat系统架构是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Tomcat系统架构是怎样的”的疑惑有所帮助!接下来,请跟
2023-06-27

Docker在Linux系统中支持多架构构建

Docker在Linux系统中确实支持多架构构建,允许用户为不同的硬件架构(如x86_64、ARM等)构建相应的镜像。这对于在不同平台上运行容器化应用程序非常有用。以下是Docker在Linux系统中支持多架构构建的相关信息:Docker
Docker在Linux系统中支持多架构构建
2024-10-07

Linux系统架构是怎么样的

这篇文章主要介绍了Linux系统架构是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我以下图为基础,说明Linux的架构(architecture)。最内层是硬件,最
2023-06-13

软考系统架构设计师多少分过?系统架构设计师45能过吗?

  软考系统架构设计师多少分过?系统架构设计师45能过吗?软考分数线自2022年开始实行相对固定合格标准,各级别、各专业、各科目的合格分数线均按满分的60%来划分。软考系统架构设计师各科目满分均为75分,也就是说45能过。  软考分数线自2022年开始实行相对固定合格标准,各级别、各专业、各科目的合格分数线均按满分的6
软考系统架构设计师多少分过?系统架构设计师45能过吗?
2024-04-19

Linux下怎么查看系统架构

这篇文章给大家分享的是有关Linux下怎么查看系统架构的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。计算机的体系结构从指令集的复杂度上可以分两类,一是复杂指令集CISC,主要是X86架构。另一类是精简指令集RIS
2023-06-28

Prometheus系统的架构是怎样的

Prometheus系统的架构主要包括以下几个组件:Prometheus Server:Prometheus服务器是整个架构的核心组件,负责收集、存储和查询指标数据。它定期从各个目标服务中拉取指标数据,并将其存储在本地时间序列数据库中。同时
Prometheus系统的架构是怎样的
2024-03-04

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录