安卓系统框架,Android框架是怎样的

1,Android框架是怎样的下面是简单翻译的版本:1.Linux内核(Linux Kernel)1)Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的 。2)Linux 内核是硬件和软件层之间的抽象层 。2.中间件1)中间件包括两部分:核心库和运行时(libraries & Android runtime)2)核心库包括,SurfaceManager 显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite 数据库 , 一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等 。3)Dalvik虚拟机:区别于Java虚拟机的是 , 每一个Android 应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低 。Dalvik虚拟机并非运行Java字节码 , 而是运行自己的字节码 。3. 应用程序框架(Application Framework)1)丰富而又可扩展性的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids) , 文本框(text boxes) , 按钮(buttons),可嵌入的web 浏览器 。2)内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据 。3)资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形 , 和布局文件( layoutfiles ) 。4)通知管理器(Notification Manager)使得应用程序可以在状态栏中显示自定义的提示信息 。5)活动管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能 。4.应用程序 (Applications)Android 系统会内置一些应用程序包包括email 客户端,SMS 短消息程序,日历,地图,浏览器 , 联系人管理程序等 。所有的应用程序都是使用JAVA 语言编写的 。
2,Android 开发有什么好的架构么Android开发,或者说移动终端开发的入门易就不可避免的精通难 。低门槛和低要求导致了J2EE程序猿可能要5年才开始考虑的东西移动开发者甚至1年后就开始感到迷茫,例如架构 。不才的本人与题主相仿,也是在毕业写Android几年后开始从如何实现转而思考怎么更好的实现 。如何抽象,如何接口,如何实现可扩展 。当时去github疯狂的寻找开源工程读源码 , 但大多找到的也只是“写的很漂亮的代码”而已 。移动终端单打独斗的特点也许也注定了代码比起架构更注重完整性和功能性 。所以现在对这点看的挺淡的,尽量将代码写的漂亮些,但不过多苛求 。也许敏捷的大流行也从一个侧面证明了移动开发不要过多的关注架构1、volley 主要有以下模块:(1) JSON,图像等的异步下载;(2) 网络请求的排序(scheduling)(3) 网络请求的优先级处理(4) 缓存(5) 多级别取消请求(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)2、android-async-http 主要有以下模块:(1) 在匿名回调中处理请求结果(2) 在UI线程外进行http请求(3) 文件断点上传(4) 智能重试(5) 默认gzip压缩(6) 支持解析成Json格式(7) 可将Cookies持久化到SharedPreferences 3、Afinal框架主要有四大模块:(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作 。(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定 。无需findViewById和setClickListener等 。(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能 。(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象 。4、xUtils框架主要有四大模块:(1) 数据库模块:android中的orm框架 , 一行代码就可以进行增删改查;(2) 注解模块:and...1、volley 主要有以下模块:(1) JSON,图像等的异步下载;(2) 网络请求的排序(scheduling)(3) 网络请求的优先级处理(4) 缓存(5) 多级别取消请求(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)2、android-async-http 主要有以下模块:(1) 在匿名回调中处理请求结果(2) 在UI线程外进行http请求(3) 文件断点上传(4) 智能重试(5) 默认gzip压缩(6) 支持解析成Json格式(7) 可将Cookies持久化到SharedPreferences 3、Afinal框架主要有四大模块:(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作 。(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定 。无需findViewById和setClickListener等 。(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能 。(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象 。4、xUtils框架主要有四大模块:(1) 数据库模块:android中的orm框架,一行代码就可以进行增删改查;(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI , 资源和事件绑定;(3) 网络模块:支持同步,异步方式的请求;(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;5、ThinkAndroid主要有以下模块:(1) MVC模块:实现视图与模型的分离 。(2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化 。(3) 数据库模块:android中的orm框架 , 使用了线程池对sqlite进行操作 。(4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载 。(5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象 。(7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取 。(8) 日志打印模块:可以较快的轻易的是实现日志打印 , 支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印(9) 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等 。(10) 网络状态检测模块:当网络状态改变时,对其进行检6、LoonAndroid 主要有以下模块:(1) 自动注入框架(只需要继承框架内的application既可)(2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)(3) 网络请求模块(继承了基本上现在所有的http请求)(4) eventbus(集成一个开源的框架)(5) 验证框架(集成开源框架)(6) json解析(支持解析成集合或者对象)(7) 数据库(不知道是哪位写的 忘记了)(8) 多线程断点下载(自动判断是否支持多线程 , 判断是否是重定向)(9) 自动更新模块(10) 一系列工具类【安卓系统框架,Android框架是怎样的】

    推荐阅读