登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

仙剑奇侠传的博客

羽化成仙

 
 
 

日志

 
 

Android系统框架概述  

2011-07-22 12:00:15|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Android系统脱胎于Linux,借助Java的jvm思想,形成了自己特色的操作系统,现在描述其框架。

一、系统框架图:

二、框架说明

1、内核层:android内核采用Linux内核,实现操作系统的核心功能。

1)文件系统管理:实现对文件的存储、空间分配、用户权限、基本操作(建立、拷贝、移动、命名、删除、打开、保存、查找)的管理。

2)网络通信:实现设备的数据传输通信息服务,主要实现ISO网络模型的前面4层的功能,即提供应用程序间端对端的通信、提供设备点的物理通信、提供传输媒介的打包、折包,提供把包拆分为帧,把帧变成二进制信息加以传输。手机能够打电话,就是这个核心功能。

3)设备管理:这儿的设备管理是一般是除了CPU、内存设备外的设备,一个手机常用的设备有:GPS感应仪、摄像头、键盘、触摸民屏、温感仪、重力感应器、USB接口、SD卡、电池。其作用时加载其驱动、进行设备分配与回收、控制设备的IO。

4)内存管理:管理系统内核空间的分配、管理应用程序内存的分配

5)线进调度:线程管理,主要对cpu资源加以调度

2、运行支撑层

内核只是提供了基本的功能,运行支撑层的库,是一些应用程序可能在开发中会用到的底层功能。

  1. SGL:2D图形引擎
  2. FreeType:字体库
  3. Libc:标准C库
  4. LibWebCore:android系统的浏览器内核
  5. openGL:3D图形界面开发的强大库

3、Davlik:运行在android手机上的虚拟机,google不把他叫jvm 了。通过JNI方式调用1、2层的C程序

4、应用框架:就是google发行android版本时,增加一些系统常用的功能:如打电话、发短信、闹钟、摄像机、通知栏、程序安装与绡卸载。

5、自定义开发,就是开发自己的应用程序。

三、框架感想

1、现在Android的应用程序支持C与java开发, C开发也是通过jni调用。因为有Davlik,理论上是可以支持C#、JS等语言开发,但要支持MS的公用语言库,这个是不现实的。

2、Davlik虚拟机可如果移植到其他发行版Linux上,配合Google非常精简的MVC编程模式,我想Linux的桌面应用会有光大甚至超MS的那一天。

3、Java的客户端界面编程,要好好地借助下Google的思想,界面是界面(用xml文件表示),通过开发工具在开发时就生成相对应的类(不需要运行时弄一堆反射),即让界面的制作变得非常简单,又开始对工作进行分工,在Android下,美工人员通过简单培训就能搭建很好的表示(压根不需要写一行代码),在控制层模型层让程序员充分发挥。(题外话:界面与代码分离的始祖应该是Delphi开发工具)。Java的客户端编程整个思路要变了,不能通过Java代码在开发环境来直接生成用户界面了。

  评论这张
 
阅读(1199)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018