
android架构分析
文章平均质量分 78
goohong
高级系统架构师,高级工程师
展开
-
第十六篇 --Android服务之网络服务发现服务解析
自android 4.1 开始实现了一个网络服务的发现服务NsdService,其基于苹果的Bonjour服务发现协议,支持远程服务的发现和零配置。 Bonjour协议包括IP地址的自动分配、服务名称与地址的转换以及服务的发现三部分内容,ANDROID4.1借助第三方开源工程mDNSResponder实现了Bonjour协议的服务名称与地址的转换以及服务的发现等 Bonjou原创 2013-01-05 22:37:33 · 24918 阅读 · 1 评论 -
IOS 与ANDROID框架及应用开发模式对比一
IOS 和ANDROID操作系统都是目前流行的移动操作系统,被移动终端和智能设备大量采用,两者都采用了先进的软件技术进行设计,为了方便应用开发两者都采用了先进的设计模式。两者在框架设计上都采用了什么技术?都采用了什么设计模式?两者设计思路和应用开发模式有什么异同呢?两者都采用了框架模式。IOS 的框架称为Cocoa Touch。 框架提供两个作用,一是类的集合,每原创 2014-05-29 16:27:40 · 7442 阅读 · 1 评论 -
ANDROID框架结构和介绍
下图是ANDROID4.4 版本包含的所有系统服务和本地服务和应用的框架图,baoh原创 2014-07-07 17:02:58 · 4515 阅读 · 1 评论 -
第三篇 android 应用开发模式之MVC模式及Observer模式
如果说模板模式是ANDROID框架的核心,提供了应用程序架构组件的基础,而Observer模式则提供了ANDROD架构连接件的基础,同时也是另外两个组件广播组件及内容提供者组件的实现基础,还是UI输入机制的基础。Observer模式在android应用程序及框架中普遍采用。Observer模式也称作发布/订阅模式,实现机理是消息发布/订阅模式的事件驱动模型:消息的生产者发布事件,而使用者订阅感原创 2012-08-06 19:09:34 · 3604 阅读 · 1 评论 -
第六篇 ANDROID窗口系统机制之显示机制与架构
ANDROID的显示系统是整个框架中最复杂的系统之一,涉及包括窗口管理服务、VIEW视图系统、SurfaceFlinger本地服务、硬件加速等。窗口管理服务与SurfaceFlinger本地服务都属于系统服务,客户端采用远程代理模式访问服务,而这部分机制在上一篇博文《窗口管理服务实现机制》已经分析过,本篇主要解析视图如何绘制相关的部分。窗口中显示的页面和控件以树的形式组织成一颗以主视图为根的视原创 2012-08-06 19:28:12 · 7516 阅读 · 3 评论 -
第二篇 android应用开发模式之模板模式
Android提供了一个包含各种服务的应用框架, 为应用开发者提供了标准的应用程序开发方法,应用开发者只需通过四种组件的使用,实现组件提供的相关接口及提供应用用到的资源,布局及工程XML文件,最后打包成一个APK文件就可以完成应用程序的开发。 Android框架借鉴了J2EE框架的许多设计思想,框架提供完善的服务给服务者使用, 应用程序由一个个组件组成,通过组件的启动来启动应用程原创 2012-08-06 19:07:15 · 6249 阅读 · 2 评论 -
第一篇 android架构是如何满足设计目标的?
从google的初衷来看 Android 操作系统的目标是与苹果的移动操作系统竞争,因此目标市场定位于一是智能手机、平板电脑等移动终端,二是定位于 TV智能 终端及 其它智能消费终端,也就是富媒体富客户端设备。服务人群和涉众也就是相关的客户群体包括移动终端等厂商、开发人员、最终的消费用户三大类群体。 因此开发的操作系统要想成功必须满足三大利益相关方的利益,也就是系统实现的需求。原创 2012-08-06 19:02:35 · 3194 阅读 · 4 评论 -
第七篇 窗口系统机制之KEYGUARD机制
ANDROID的KEYGUARD相关类提供了屏幕锁屏等相关功能,虽然功能简单,但是相关的逻辑还是挺复杂的,要处理屏幕处于不同状态的情况,要监控各种事件(时间,电池,Sim状态,电话状态),因此GOOGLE还是对屏幕功能进行了细致的设计,架构上采用了中介模式、MVC模式等设计模式。系统类图如下: PhoneWindowManager、PowerManag原创 2012-08-08 15:05:11 · 3743 阅读 · 0 评论 -
第八篇 android 内容提供组件机制
内容提供组件提供了一个进程安全访问另一个进程数据的方法和接口,该接口对数据进行了封装,使客户端可以以一致的接口跨进程访问各种数据。 如下是ContentProvider的系统类图: 图中左边部分是客户端部分,右边部分是处于另外进程的ContentProvider组件和内容提供的服务部分。整个系统采用的模式与MVC模式类似。原创 2012-08-10 19:13:16 · 2589 阅读 · 0 评论 -
第十篇ANDROID的ActionBar及菜单机制
Action Bar是ANDROID应用用到的重要开发资源之一,Action Bar提供了一致的应用导航和视图切换方式,也提供了突出的和容易的以可预见的方式执行重要操作的方式。 Action Bar一般位于屏幕顶部,包括四个可操作区域:应用图标或LOGO区域,用于视图控制的Spinner下拉菜单或TAB控件区域,Action button(也称为Action Item)区原创 2012-08-25 18:22:03 · 8452 阅读 · 0 评论 -
androd输入管理系统机制解析
安定主要完成按键、触摸板、鼠标等输入设备的输入,功能包括,输入设备的输入及向焦点窗口和焦点视图的事件派发,事件的插入,事件的过滤,事件的拦截等功能。整个输入系统包括服务端和客户端两部分,服务端部分主要完成输入设备事件的读取、事件的映射、事件的插入、事件的过滤、事件的拦截等功能;客户端部分主要完成事件向焦点窗口和焦点视图的派发。输入系统整个架构采用的是管道过滤器模式(原创 2014-07-14 18:16:40 · 4242 阅读 · 2 评论 -
第九篇 ANDROID包管理服务机制与架构
包管理服务( PackageManagerService)是ANDROID的系统服务之一,主要功能实现应用包的解析、安装、更新、移动、卸载等服务。 系统类图如下: PackageManagerService主要通过Installer、UserManager、AppDirObserver、Settings、DefaultContainerS原创 2012-08-18 20:14:09 · 6415 阅读 · 0 评论 -
第十七篇 --ANDROID DisplayManager 服务解析一
ANDROID从版本4.2开始提供了一个显示管理服务DisplayManagerService,支持多种显示类型的多个显示器的镜像显示,包括内建的显示类型(本地)、HDMI显示类型以及支持WIFI Display 协议( MIRACAST),实现本地设备在远程显示器上的镜像显示。整个架构类图如下:显示管理服务通过DisplayManager提供对外接口,提供的接口包括如原创 2013-01-23 23:11:29 · 30669 阅读 · 11 评论 -
ANDROID窗口管理服务实现机制和架构分析
一、功能窗口管理是ANDROID框架一个重要部分,主要包括如下功能:(1)Z-ordered的维护(2)窗口的创建、销毁(3)窗口的绘制、布局(4)Token管理,AppToken(5)活动窗口管理(FocusWindow)(6)活动应用管理(FocusAPP)(7)输入法管理(8)系统消息原创 2014-07-09 20:18:50 · 7762 阅读 · 0 评论 -
Android 的媒体路由功能应用与框架解析
功能描述 Android 的媒体路由API被设计用来允许多种媒体(视频、音乐、图片)在与ANDROID设备连接(无线或有线)的辅助设备(如电视、立体声、家庭戏院系统、音乐播放机)上显示和播放,使用该框架和API,允许Android用户立即在辅助设备上显示图片、播放音乐、共享视频等。媒体路由框架提供两种播放输出类型:远端播放和辅助输原创 2014-07-07 14:48:53 · 9554 阅读 · 2 评论 -
第十五篇 Android 的Backup服务管理机制与架构分析
Android2.2以后的备份服务功能可以允许用户备份应用数据到云存储中,当应用执行了工厂恢复服务或者转换到一个新的平台上时,如果备份的应用重新安装,系统就自动恢复原先备份的数据,这个过程对用户是完全透明的。GOOGLE目前为Android框架系统提供了一个云存储服务BackupTransportService和一个GOOGLE Backup Transport对象,不过要使用云存储,需要首先原创 2012-09-27 18:49:24 · 13599 阅读 · 1 评论 -
第十四篇 ANDROID的 BLUETOOTH 实现机制与架构
从ANDROID3.0开始BLUETOOTH API提供了对Bluetooth profile协议的支持。目前ANDROID4.0 API提供了五种蓝牙无线接口规范(Bluetooth profile)的支持,用来在设备之间提供蓝牙通讯实现特定功能:包括 Headset和Hands-Freeprofile(实现蓝牙耳机功能),A2dpprofile(第二代蓝牙声音设备协议,用来在蓝牙设备之间原创 2012-09-21 22:05:51 · 16454 阅读 · 4 评论 -
第十三篇 Android 系统电话管理机制与架构二
四 SipPhone 如下是SipPhone实现相关类图。 SipPhone对象虽然也派生自PhoneBase,但实现机制及实例化过程与其它Phone对象大大不同。 SipPhone对象的实例化通过PhoneFactory的makeSipPhone的接口调用SipPhoneFactory的makePhon原创 2012-09-16 02:33:55 · 5224 阅读 · 2 评论 -
第十二篇 Android 系统电话管理机制与架构
电话管理是Android 系统支持的重要的业务之一,提供接听电话,收发短信、电话薄、网络事件监听、读取用户信息等功能。 从下到上可以分为四层:硬件驱动层、RIL daemon层、Telephony框架实现层、 PHONE应用层,下层为上层提供服务,每层之间采用不同的通讯方式交互。RIL daemon层实现为单独的一个开机启动的进程(rild命令),通过AT命令硬件驱动层交互,Te原创 2012-09-16 02:03:14 · 10032 阅读 · 7 评论 -
第十一篇 ANDROID 系统网络连接和管理机制与架构
一 网络连接功能介绍 ANDROID 系统网络连接和管理服务由四个系统服务ConnectivityService、NetworkPolicyManagerService、NetworkManagementService、NetworkStatsService共同配合完成网络连接和管理功能,四个服务只有ConnectivityService、NetworkPolicyManagerS原创 2012-09-03 11:39:36 · 27334 阅读 · 3 评论 -
第十八篇 ANDROID的声音管理系统及服务
声音管理系统用来实现声音的输入和输出、声音的控制和路由等功能,包括主和各种音源的音量调节、声音焦点控制,声音外设的检测和状态管理,声音源输入和输出的策略管理、音效的播放、音轨设置和播放、录音设置和启动等功能。整个声音管理系统相关类图如下:主要由JAVA端的系统服务AudioService及两个本地服务声音输入输出策略管理服务AudioPolicyService原创 2014-03-14 19:10:58 · 11492 阅读 · 3 评论