Android系统架构(简述)——《深入理解(I)》学习笔记1

本文深入解析了Android系统的架构,从Linux内核层到Applications层,介绍了各层的主要组件和技术细节,如JNI层的作用、Binder机制及关键类如sp、wp等。

Linux内核层:包含Linux内核和一些驱动模块(如USB、Bluetooth、Camera、WiFi、Audio)。

Libraries层:提供动态库(也叫共享库)、Android运行时库、Dalvik虚拟机等,大部分都是用C或C++编写,可看成Native层。

Framework层:这一层大部分用Java语言编写,是Android平台上Java的基石。

Applications层:应用程序。

 

 Java具有与平台无关的特性,但是Java和具体平台之间的隔离式由JNI层来实现的。Java通过JNI层调用Linux Os中的系统调用来完成对应的功能(如一个创建文件)。

Java世界经由JNI层通过IPC方式与Native世界交互,而Android平台上最神秘的IPC方法就是Binder,除此之外Socket也是常用的IPC方式。

 

 本册包括:

Native层 包括init、Audio系统(包括AudioTrack、AudioFlinger和AudioPolicyService)、Surface系统(包括Surface和SurfaceFlinger)、

               常用类(包括RefBase、sp、wp等)、Vold和Rild。

Java Framework层包括zygote、System_server以及Java中的常用类(包括Handler和Looper等)。

Java Application层包括MediaProvider和Phone。

 

注释:JNI(Java Native Interface ”Java本地调用“)

IPC(Inter-Process Communication”进程间通信“)

参考资源链接:[(完整版)安卓系统(android)培训.ppt](https://wenku.youkuaiyun.com/doc/4yfc7ns3te?utm_source=wenku_answer2doc_content) Android系统架构是一个多层次的结构,理解它对于开发和优化Android应用至关重要。首先,我们得认识到Android系统由四个核心组件构成:Linux内核、硬件抽象层(HAL)、Android运行时和应用框架。每一个组件都扮演着独特而关键的角色。 Linux内核负责管理进程、内存和设备驱动程序等系统级服务。硬件抽象层位于Linux内核之上,它定义了一系列接口来隔离上层应用和Android框架与硬件相关的操作。Android运行时则是应用层与内核层之间的桥梁,它包括核心库和Dalvik虚拟机或Android Runtime(ART),后者从Android 5.0开始取代Dalvik虚拟机。核心库为应用提供Java编程语言支持的API,而ART或Dalvik负责执行应用代码。应用框架则是由多个服务和API组成,它允许开发者构建应用,并利用Android系统提供的各种服务,如窗口管理、视图系统、通知管理、资源管理和位置服务等。 为了更好地理解这些核心组件以及它们之间的交互方式,强烈推荐参阅《(完整版)安卓系统(android)培训.ppt》。这份培训材料详细介绍了Android系统架构的每一层,并提供了大量的示例和图表,帮助学习者深入掌握各个组件的功能和相互关系。通过这份资料,你可以获得一个全面而深入的Android系统知识体系,为从事Android应用开发或系统优化打下坚实的基础。 参考资源链接:[(完整版)安卓系统(android)培训.ppt](https://wenku.youkuaiyun.com/doc/4yfc7ns3te?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值