博客
关于我
【Android学习】Android系统架构
阅读量:250 次
发布时间:2019-03-01

本文共 918 字,大约阅读时间需要 3 分钟。

Android系统架构采用分层架构,从低层到高层分为五个层次:Linux内核、硬件抽象层、系统运行库、开发框架以及核心应用程序。这种分层设计使得系统结构清晰,功能模块化,便于维护和扩展。

1. Linux内核

Linux内核作为Android系统的基础,负责底层功能的实现。它处理设备的硬件交互、内存管理、文件系统操作等基础任务。Android运行时(如ART)和应用程序的执行都依赖于Linux内核的支持。

2. 硬件抽象层(HAL)

HAL是硬件抽象层,作为设备内核驱动的抽象接口。它为更高层的Java API框架提供访问底层设备的接口。HAL包含多个库模块,每个模块对应特定硬件组件的接口。当应用程序需要访问硬件时,系统会自动加载相应的库模块。

3. 系统运行库

系统运行库包括两部分:

  • 核心运行时库:提供Java API框架的基础功能,支持Java 8特性,如注解和并发处理。部分核心功能通过原生C/C++库实现,如图形绘制和硬件访问。
  • Android运行时(ART):通过预先编译(AOT)和优化垃圾回收,提升性能和效率。ART采用DEX字节码格式,减少内存占用,适合多线程运行。

4. 开发框架

开发框架提供构建Android应用所需的Java API。其主要组成部分包括:

  • 视图系统:构建用户界面,支持列表、文本框等控件。
  • 资源管理器:管理非代码资源,如图像和字符串文件。
  • 通知管理器:在状态栏显示自定义提醒。
  • 活动管理器:管理应用生命周期,提供导航返回栈功能。
  • 内容提供器:允许应用访问其他应用数据或共享数据。

5. 核心应用程序

Android系统附带核心应用,如电子邮件、日历和联系人。这些应用作为系统应用运行,也可作为开发者测试的基础功能模块。

6. 支持包

支持包用于扩展Android功能,适用于不同版本开发:

  • v4库:最初实现于2011年,支持Fragment、通知兼容等功能。
  • v7库:支持Android2.1及以上,依赖v4库,提供Action Bar功能。
  • v13库:针对Android3.2及以上版本,适合平板开发。

通过这种分层架构,Android系统实现了模块化设计,提升了系统的扩展性和维护性。

转载地址:http://jkqt.baihongyu.com/

你可能感兴趣的文章
Nmap扫描教程之Nmap基础知识
查看>>
Nmap端口扫描工具Windows安装和命令大全(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
NMAP网络扫描工具的安装与使用
查看>>
NMF(非负矩阵分解)
查看>>
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>