概述-Android系统架构

3962a876b0b2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Android系统架构

概述-Application

3962a876b0b2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Application

Android平台不仅仅是操作系统,同时也包含了许多应用,如桌面,浏览器,视频客户端,摄像头等。用JAVA编写,可以被开发人员开发的其他应用程序替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。

概述-Application Framework

3962a876b0b2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Framework

应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。

Activity Manager(活动管理器):管理各个应用程序生命周期以及通常的导航回退功能。

Window Manager(窗口管理器):管理所有的窗口程序。

Content Provider(内容提供器):使得不同应用程序之间存取或者分享数据。

View System(视图系统):构建应用程序的基本组件。

Package Manager(包管理器):Android系统内的程序管理。

Resource Manager(资源管理器):提供应用程序使用的各种非代码资源,如字符串、图片、布局、颜色文件等。

Location Manager(位置管理器):提供位置服务。

Notification Manager(通告管理器):使得应用程序可以在状态栏中显示自定义的提示信息。

概述-Libaries

3962a876b0b2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Libaries

系统库

Surface Flinger:执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示

合成。

Media Framework:多媒体库,基于PacketVideo OpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。

SQLite:小型的关系型数据库引擎 。                  OpenGL|ES:根据OpenGL ES 1.0API标准实现的3D绘图函数库。

FreeType:提供点阵字与向量字的描绘与显示 。       WebKit:一套网页浏览器的软件引擎。 (4.4 chrome)

SGL:底层的2D图形渲染引擎SSL:在Andorid上通信过程中实现握手。

Libc:从BSD继承来的标准C系统函数库,专门为基于embeddedlinux的设备定制。

运行时库

Android应用程序采用Java语言编写,在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。

核心库:

提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android.net、android.media等。

Dalvik虚拟机:

Android程序不同于J2me程序,每个Android应用都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。

android 底层系统开发,Android底层相关推荐

  1. 一份全面详细的Android 车载系统开发入门指南与面试题

    前言 众所周知,近两年互联网行业的就业形势不太理想,三点原因 技术原因: Android经过一代又一代的发展,早已经过了张口一句组件化就能月薪过万的时代,现如今不会Framework底层/性能优化 很 ...

  2. 被称为“2022大热门”的Android车载系统开发,到底应该怎么学?

    前言: 随着汽车智能化的速度不断加快,车载系统目前已经进入了混战的阶段,国产车载系统纷纷加入布局,很多车企也基于Android车载系统来开发自己的新系统,不过想要打造像安卓一样的汽车生态,还有很大的发 ...

  3. 23最新Android车载系统开发入门指南,附项目实战源码

    当下,Android 开发体系已然非常成熟,行业的红利也已经过去,相关岗位变少,不少程序员表示想跳槽时的选择性大大减小了.因此,这两年许多Android开发者都开始向系统开发靠近,比如时下非常火热的车 ...

  4. “2023热门岗位”Android车载系统开发工程师入门指南

    众所周知,近两年互联网行业的就业形势不太理想,许多Android开发因此萌生了转行做车载的想法.这篇文章就是从一个车载应用工程师的角度,探讨一下Android车载究竟值不值得学,以及怎样去学习? 首先 ...

  5. 【嵌入式Linux(基础篇)】嵌入式Linux底层系统开发流程和应用开发流程

    1.嵌入式Linux系统体系架构 一个完整的嵌入式Linux系统体系架构如图,大概可以分为三步: 硬件PCB板设计 底层系统开发 应用开发 2.硬件PCB设计流程 ① 获取所用芯片芯片手册: ② 建立 ...

  6. Android原生系统开发如何优雅的提供系统级的API供第三方程序调用?

    目录 故事背景 二.开发步骤 Step1.添加一个专属系统级服务 2.1.1.模仿Android原生服务接口,如WifiManager,规划自己的Manager 2.1.2.为我们的Manager生成 ...

  7. android 编写系统应用,Android应用快速开发系统设计与实现

    摘要: 自Android系统诞生以来,传统的手持电话遭受了巨大冲击,智能手机的功能越来越强大,价格也越来越低廉,智能手机开始出现在越来越多的普通用户手中.到现在为止,Android手机已经在智能手机领 ...

  8. 这是一份全面详细的Android 车载系统开发入门指南

    目前的就业形势越来越严峻,很多大中小厂因为业务停滞不前都选择"精简人员",节约成本.对于Android开发来说,市场的冷静,明显可以感知到企业招聘门槛的提高.就未来发展来说,选择一 ...

  9. 2023最新Android 车载系统开发教程,车载开发入门

    近两年,在智能化汽车布局的风口下,车载成为了程序员热门话题之一.车载系统的开发让汽车的娱乐生态更加丰富,满足了人们更加多元化的需求,例如:车载的界面布局更贴近手机本身,在保证用户使用习惯的同时,让驾驶 ...

最新文章

  1. 几种在Linux下查询外网IP的办法
  2. 系列笔记 | 深度学习连载(5):优化技巧(下)
  3. python输出矩阵的转置_Python 矩阵转置的几种方法小结
  4. linux ftp mysql_linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建
  5. 9:04 2009-7-28
  6. redis 首次请求_Redis主从复制
  7. 【MaxScript】删除所选择的骨骼的位置和缩放
  8. 软考设计师15-数据结构01
  9. swift5 decimal 转换为String 并制定小数点位数
  10. 1 如何制定购车计划
  11. 使用python进行微博登陆
  12. eclipse html清理缓存,eclipse中的缓存怎么清理
  13. 认识Power BI
  14. Python入门题031:excel表格筛选重复数据
  15. Go语言基础数据类型所占内存大小
  16. 数据结构 —— 队列、栈、链表的区别
  17. 爱读掌阅java版_爱读掌阅app官方下载-爱读掌阅旧版本 - 超好玩
  18. BookKeeper设计介绍及其在Hadoop2.0 Namenode HA方案中的使用分析
  19. 将已写好页面的px转化为rem(px to rem)
  20. 深度学习论文: Multi-modal Sensor Fusion for Auto Driving Perception: A Survey

热门文章

  1. 【StreamSets】StreamSets 表达式语言篇
  2. 对CAN总线的终端电阻,你知道多少?
  3. 微机接口课设 汽车控制系统 C语言源代码 Proteus 8086
  4. Anaconda安装问题
  5. SQL--触发器中的 inserted,deleted 表
  6. 可以先安装pycharm再安装python吗_如何安装pycharm
  7. 华为王成录专访:中国在人工智能相关领域中不应太浮躁
  8. 基于Android家庭食谱推荐系统app
  9. mysql 5.7 1819_mysql5.7设置简单密码报ERROR 1819错误怎么处理
  10. FeignCilent转发文件上传时遇到的一系列问题