Android系统架构包括应用层、框架层、硬件抽象层等,但其中最核心、最重要的还是框架层,这个层级是Android系统设计思想集中体现的部分,提供了大量的 API 供开发者调用,而弄清楚这些 API 的具体功能和用法则是 Android 应用程序开发过程中最为重要的环节。
框架层不只是应用程序开发的基础,也是软件复用的重要手段,任何一个应用程序都可以发布它的功能模块——只要发布时遵守了框架层的约定,那么其他的应用程序也可以使用这个模块。
框架层由多个系统服务(SystemService)组成,包括组件管理服务、窗口管理服务、地理信息服务、电源管理服务、通话管理服务等。所有的系统服务都寄宿在系统核心进程(System Core Process)中,在运行时,每个服务都占据一个独立的进程,彼此之间通过进程间通信机制(IPC,Inter-ProcessCommunication)发送消息以及传输数据。
对于开发者而言,最为直观的框架层体现就是 Android SDK,它通过一系列的 Java 功能模块来实现应用所需要的可复用的组件,提供了应用开发的规范,屏蔽了应用层与底层交互的复杂性。
框架层的设计决定了上层应用程序的开发模式、开发效率以及能够实现的功能范畴。
从系统运行的角度来看,Android期望框架层是所有应用程序运行的核心,参与到应用层的每一次操作中,并进行全局统筹。
Android 应用的最大特征是基于组件的设计方式,每个应用程序都由若干个组件构成,组件与组件之间通过框架层的系统服务集中的调度和传递信息。
框架层主要是使用 Java 和 JNI 实现的,位于该层的主要组件如下:
视图系统(View System) 提供了可扩展的用于构建应用程序 UI 的控件,包括 ListView 、 GridView 、 TextView 、 Button 、 WebView 等。
内容提供器(Content Provider) 提供应用程序之间数据共享的接口。
资源管理器(Resource Manager) 提供非代码资源的访问接口,如字符串、布局文件等。
通知管理器(Notification Manager) 用来在状态栏显示自定义的 提示信息。
活动管理器(Activity Manager) 用来管理应用程序生命周期并提供通用的导航回退功能。
窗口管理器(Window Manager) 管理所有的窗口程序。
包管理器(Package Manager) 提供 Android 系统内的程序管理。
框架层是基于 Android 核心类库实现的 Android 系统框架层的 API,也就是应用开发人员所使用的Android 开发包。Android 开发包以 android. 开头,其实现位于 framework\base\ 目录中,其中 framework \base\core\java 包含了大部分 API,还有另外一部分 API 属于Android 系统库中的扩展库部分,分别位于:
framework\base\graphics\java\
framework\base\media\java\
framework\base\opengl\java\
framework\base\wifi\java\
framework\base\location\java\
以上就是框架层的相关知识,Android系统架构更多知识,小编将在后续文章中继续为大家分享。
相关阅读:《Android开发之网络性能的优化方法》 http://www.maiziedu.com/group/article/939/
更多评论
相关阅读的“麦子学院”需要注册呀, 平生最讨厌注册了,我注册的那无数个账号都已经随风而去了。
注册的原本含义是什么呢?加入组织的仪式?还是收费圈钱的预备式?
为什么不干脆痛痛快快给游客开放浏览权限呢?
人家想先看下再决定注不注册,行不行呢?
不注册就滚蛋,太硬气了!
就要么你牛逼我滚蛋,要么我牛逼你滚蛋。不可调和。
#1