Android系统结构
Android架构分为3部分:应用部分(Android设备上运行的程序)、核心部分(Android系统的核心实现:应用框架、核心类库)、底层部分(Linux系统及相关驱动)。
从实际的架构模型分:
应用层、框架层、运行时、核心类库、硬件抽象层、Linux内核
在Android开发中,开发者使用C/C++开发底层服务,并添加JNI接口与上层Java实现交互。利用Android的交互编译工具生成类库、添加到应用中。
让了让开发者绕过框架层,Android提供NDK(Native Development kit),由C/C++接口构成。
框架层服务有:组件管理、窗口管理、地理信息服务、电源管理、通话管理……所有服务寄宿在系统核心进程,在运行时,每个服务单独占用一个线程。通过进程通信机制IPC发送消息和传输数据。
Android的运行时由Java核心类库和java虚拟机Dalvik。Dalvik负责动态执行应用,分配空间,管理对象生命周期。
Dalvik没有使用传统的二进制码,而是使用新的二进制.dex:先生成.class,在生成.dex。在转换过程中,会对部分.class文件进行指令转义,利用Dalvik的OpCodes指令集替换,提高执行效率(代码混淆)。
因此.dex比.class文件小。
Android界面框架中最有特色的是资源和布局,通过控件库和接口设计,开发者可以快速搭建界面。
每个交互界面都有控件树构成。控件都派生自View。非子节点控件派生自ViewGroup。
最有特色的控件:布局控件。
Android数据存储的最大特点是数据的私有化,数据共享通过数据源组件Content Provider实现。数据放入SD卡则可以被所有应用使用。
开发者通过Http或者Socket与网络通讯。支持点到端的连接及点到点的蓝牙连接(借助开源项目BlueZ)。内嵌了浏览器组件WebKit。
地理位置信息不但可以给予GPS定位,还可以根据基站信息定位。基站信息定位比GPS定位准确度低,但灵活适应能力强,低碳环保。
Android支持主流的音视频,主要借助于开源项目OpenCORE。基于C/C++实现的音视频库,放于Android的核心类库中。图像处理基于开源项目Skia。
Android特色功能模块有:统一的账号管理系统、全局的时间通知机制Notification(当应用需要将消息即时推送给用户时,可以使用android.app.NotificationManager对象,将消息发送到系统的状态栏中,并利用声音、震动、图标等方式提醒用户)。
Android的架构特征和设计思想:不同于塞班的提升性能角度出发,Android基于当前环境,考虑了设备的兼容性,增强了应用间的功能复用,优化了网络服务,简化了开发难度。
平台开放性:最大的挑战是兼容,兼容不同的硬件设备、屏幕大小、外设、语言环境等。Android底层架设在Linux上,Linux可移植性强,保证了Android在不同硬件上运行。在上层,Android为应用提供了增强兼容的机制。
基于组件的设计:组件通过配置文件描述,在Android中有明确的组件边界,弱化了进程边界和应用边界。
基于网络服务的平台:无缝支持各类移动网络,内嵌浏览器组件。
相关推荐
《Android系统结构及平台搭建详解》 Android,作为全球最流行的智能手机开发平台,不仅局限于手机,还广泛应用于平板电脑、游戏机、数码相机、OTT机顶盒、智能电视等多种终端设备。这一系统的成功始于2008年,由...
### Android系统结构与SDK使用详解 #### 一、Android系统介绍 **1.1 系统介绍** Android是由Google公司研发的一种基于Linux内核的开放源代码操作系统,主要用于移动设备,如智能手机和平板电脑等。它由操作系统、...
Android 系统结构与“刷机” 思维导图
本文档描述Android 点餐系统的设计过程, 此文档的编写目的是为了让设计以及运行人员能通过该文档以明确的软件构造体系设计方案规划来实现软件开发的要求,方于客户、软件设计人员、软件开发人员和整合测试人员了解...
在安卓Android系统中,开发一个相册应用是常见的任务,涉及到图像处理、UI设计以及数据管理等多个方面。这个压缩包“安卓Android源码——android相册系统(用Matrix实现).rar”显然提供了一个使用Matrix类来实现相册...
Android 系统结构及开发环境 Android 系统结构及开发环境是指 Android 操作系统的架构和开发环境,它是基于 Linux 内核的开源手机操作系统。 Android 系统结构主要由 Linux 内核、系统库、应用程序框架和应用程序...
Android的文件系统结构是其操作系统的核心组成部分,它决定了应用程序如何存储和访问数据,以及系统如何启动和运行。本文将深入探讨Android的文件系统结构及其引导过程。 首先,Android的文件系统由几个关键的映像...
【毕业设计-基于安卓Android销售管理系统】是一款专为学习者和开发者设计的实践项目,它提供了全面的课程指导以及源代码,旨在帮助学生和新手掌握Android平台上的销售管理系统的开发技术。这个系统能够帮助企业或...
通过深入学习这些文档,开发者不仅可以编写出功能丰富的Android应用,还能优化性能,解决兼容性问题,并且更好地理解Android系统的运作机制。无论是初学者还是经验丰富的开发者,这些知识都将极大地提升其在Android...
一、Android系统结构 Android系统是一个基于Linux内核的开源操作系统,其架构可以分为以下几个层次:Linux内核、硬件抽象层(HAL)、系统库、应用程序框架和应用程序。 1. Linux内核:作为Android的基础,Linux...