无涯教程-Android - 系统架构

news2025/1/21 21:59:24

Android操作系统是一堆软件组件,大致分为五个部分和四个主要层,如体系结构图中所示。

Android Architecture

Linux内核

底层是Linux-Linux 3.6,带有大约115个补丁,这在设备硬件之间提供了一定程度的抽象,并且包含所有必需的硬件驱动程序,如摄像头,键盘,显示器等。此外,内核还处理Linux真正擅长的所有事情,如网络和大量设备驱动程序,这消除了与硬件接口的麻烦。

Libraries库

在Linux内核之上,有一组库,包括开放源Web浏览器引擎WebKit,libc,SQLite数据库(用于存储和共享应用程序数据的有用存储库),用于播放和记录音频和视频的库,SSL,负责互联网安全等的类库存

Android Libraries

此类别包含特定于Android开发的那些基于Java的库,除了方便用户界面构建,图形绘制和数据库访问的那些库以外,此类库的示例还包括应用程序框架库。 Android开发人员可以使用的一些关键核心Android库的摘要如下-

  • android.app             -  提供对应用程序模型的访问,并且是所有Android应用程序的基石。

  • android.content      -  促进应用程序和应用程序组件之间的内容访问,发布和消息传递。

  • android.database    -   用于访问内容提供商发布的数据,并包括SQLite数据库管理类。

  • android.opengl        -   OpenGL ES 3D图形渲染API的Java接口。

  • android.os                -  为应用程序提供对标准操作系统服务的访问,包括消息,系统服务和进程间通信。

  • android.text             -  用于在设备显示屏上呈现和处理文本。

  • android.view            -  应用程序用户界面的基本构建块。

  • android.widget        -  大量的预构建用户界面组件,如按钮,标签,列表视图,布局管理器,单选按钮等。

  • android.webkit        -  一组旨在允许将Web浏览函数内置到应用程序中的类。

在介绍了Android运行时中基于Java的核心库之后,现在是时候将无涯教程的注意力转向Android软件堆栈这一层中包含的基于C/C++的库。

Android Runtime

这是体系结构的第三部分,位于底层的第二层,本部分提供了一个称为 Dalvik虚拟机的关键组件,它是专门为Android设计和优化的Java虚拟机。

Dalvik VM利用Java内在的Linux核心函数,如内存管理和多线程,Dalvik VM使每个Android应用程序可以使用自己Dalvik虚拟机在其自己的进程中运行

Android运行时还提供了一组核心库,这些核心库使Android应用程序开发人员可以使用标准Java编程语言编写Android应用程序。

Application Framework

应用程序框架层以Java类的形式为应用程序提供了许多更高级别的服务。允许应用程序开发人员在其应用程序中使用这些服务。

Android框架包括以下关键服务-

  • Activity Manager           -  控制应用程序生命周期和Activity堆栈的各个方面。

  • Content Providers         - 允许应用程序发布数据并与其他应用程序共享数据。

  • Resource Manager        - 提供对非代码嵌入式资源的访问,如字符串,颜色设置和用户界面布局。

  • Notifications Manager  - 允许应用程序向用户显示警报和通知。

  • View System                    - 用于创建应用程序用户界面的一组可扩展视图。

Android - 系统架构 - 无涯教程网无涯教程网提供Android操作系统是一堆软件组件,大致分为五个部分和四个主要层,如体系结构图中所示...https://www.learnfk.com/android/android-architecture.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/943066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分析型CRM的优缺点有哪些?

CRM系统根据其功能和目标的不同,可以分为三种主要类型:运营型CRM、分析型CRM和协作型CRM。本文将进行分析型CRM系统的优缺点分析,帮助您对分析型CRM系统有更深的了解。 什么是分析型CRM系统? 例如Zoho CRM的分析型CRM系统是指通…

一文搞懂常见限流算法:计数器、滑动窗口、漏桶、令牌桶

文章目录 1、计数器算法2、滑动窗口算法3、漏桶算法(漏斗算法)4、令牌桶算法5、限流算法总结6、限流组件 📢:在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。 限流在很多场景中用来限制并发…

为C# Console应用化个妆

说到Windows的cmd,刻板印象就是黑底白字的命令行界面。跟Linux花花绿绿的界面比,似乎单调了许多。但其实C#开发的Console应用也可以摆脱单调非黑即白的UI。 最近遇到个需求,要在一堆纯文本文件里找指定的关键字(后续还要人肉判断…

25 Linux可视化-Webmin和bt运维工具

25 Linux可视化-Webmin和bt运维工具 文章目录 25 Linux可视化-Webmin和bt运维工具25.1 Web运行环境简介25.2 Webmin的安装及使用25.2.1 安装webmin25.2.2 Webmin使用演示 25.3 bt(宝塔)的安装及使用25.3.1 安装宝塔25.3.2 宝塔Web登录Linux服务器25.3.3 找回宝塔登录密码 学习视…

每日两题 226翻转二叉树 1026节点与其祖先之间的最大差值

226 题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:root [2,1,3] 输出:[2,3,1]示…

NineData X SelectDB 联合发布会,即将上线!

8月30日晚上19:00,由 NineData 和 SelectDB 共同举办的主题为“实时数据驱动,引领企业智能化数据管理”的线上联合发布会,即将如期上线! 本次发布会将聚焦于实时数据仓库技术和数据开发能力,展示SelectDB新一代实时数据…

安装win11卡在联网界面(已解决)

安装win11卡在联网界面(已解决) 1. 问题描述2. 解决方法参考 1. 问题描述 windows11新电脑第一次开机或系统重装之后配置系统时到联网界面出现如下图情况,没有可以选择的选项,或者说卡在联网界面。 2. 解决方法 按 shiftF10 弹…

Kubernetes(七)修改 pod 网络(flannel 插件)

一、 提示 需要重启服务器 操作之前备份 k8s 中所有资源的 yaml 文件 如下是备份脚本,仅供参考 # 创建备份目录 test -d $3 || mkdir $3 # $1 命名空间 # $2 资源名称: sts deploy configMap svc 等 # $3 资源备份存放的目录名称for app in kubec…

文心一言接入Promptulate,开发复杂LLM应用程序

简介 最近在尝试将文心一言的LLM能力接入Promptulate,故写了一篇博客记录一下,Promptulate 是 Promptulate AI 旗下的大语言模型自动化与应用开发框架,旨在帮助开发者通过更小的成本构建行业级的大模型应用,其包含了LLM领域应用层…

k8s的交付与部署案例操作

一 k8s的概念 1.1 k8s k8s是一个轻量级的,用于管理容器化应用和服务的平台。通过k8s能够进行应用的自动化部署和扩容缩容。 1.2 k8s核心部分 1.prod: 最小的部署单元;一组容器的集合;共享网络;生命周期是短暂的; …

反相器及反相器链的设计

静态特性 1 .开关阈值 2 .噪声容限 3 .稳定性 动态特性 1 .计算电容值 2. 时延分析 3. 从设计角度考虑时延 功耗、能量和能量时延 1.动态功耗 2.静态功耗

Druid监控平台与SpringBoot的actuator、Admin

文章目录 前言Druid监控平台的基础使用actuator基础使用Admin可视化图形监控 前言 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控,Druid 可以很好的监控 DB 池连接和 SQL 的执行情况…

暑期实习总结(焊点数据管理软件开发):Python操作MySQL数据库、Django搭建前端网页、以及Excel中数据与MySQL数据库的互转

暑期实习总结(焊点数据管理软件开发):Python操作MySQL数据库、Django搭建前端网页、以及Excel中数据与MySQL数据库的互转 ​ 这一周是我在企业实习的最后一周,在企业做的项目已基本完成。这篇博客的目的也是总结一些项目中的一些小问题&…

经典文献阅读之--MobileSAM(比FastSAM更快的SAM框架)

0. 简介 自从MetaAI提出的能够“分割一切”的视觉基础大模型SAM提供了很好的分割效果,为探索视觉大模型提供了一个新的方向。虽然SAM的效果很好,但由于SAM的backbone使用了ViT,导致推理时显存的占用较多,推理速度偏慢&#xff0c…

大数据学习:hive的DQL和DML操作

hive的DQL和DML操作 1. Hive的分桶表 1.1 分桶表原理 分桶是相对分区进行更细粒度的划分 Hive表或分区表可进一步的分桶 分桶将整个数据内容按照某列取hash值,对桶的个数取模的方式决定该条记录存放在哪个桶当中;具有相同hash值的数据进入到同一个文件…

4、监测数据采集物联网应用开发步骤(4)

监测数据采集物联网应用开发步骤(3) 日志或文本文件读写开发 创建全局变量配置代码com.zxy.common.Com_Para.py全局变量根据需要后续补充。 #! python3 # -*- coding: utf-8 -Created on 2023年08月28日 author: zxyong 13738196011#监测数据采集物联网应用--全局变量 impor…

文件名翻译不求人:一键批量翻译,你就是改名专家

文件名翻译不求人:一键批量翻译,你就是改名专家 在日常生活和工作中,我们常常需要处理各种文件,包括文档、图片、视频等。有时候,我们需要对这些文件进行重命名,以便更好地管理和查找。但是,当…

微服务之Nacos

1 版本说明 官网地址: https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 1.1 2021.x 分支 适配 SpringBoot 2.4, Spring Cloud 2021.x 版本及以上的Spring Cloud Alibaba 版本如下表(最新版本用*标记&am…

Android实现监听APP启动、前台和后台

Android 实时监听APP进入前台或后台 前言 在我们开发的过程中,经常会遇到需要我们判断app进入后台,或者切换到前台的情况。比如我们想判断app切换到前台时,显示一个解锁界面,要求用户输入解锁密码才能继续进行操作;我…