android 五大应用开发框架是什么
Android架构:
1、Linux内核
提供基于Android Linux 2.6的核心系统服务,如安全、内存管理、进程管理、网络栈、驱动模型等。Linux内核还作为软硬件之间的抽象层,隐藏具体的硬件细节,为上层提供统一的服务。如果你学过计算机网络,知道OSI/RM,你就会知道分层的好处就是利用下层提供的服务为上层提供统一的服务,屏蔽了这层和下层的差异。当这一层和下层发生变化时,不会影响上层。也就是说各层各司其职,各层提供固定的SAP(服务接入点),特长可以说是高内聚低耦合。如果只做应用开发,不需要深入了解Linux内核层。
2、安卓运行时
Android包含了核心库的集合,提供了Java编程语言核心类库中可用的大部分功能。每个Android应用程序都是Dalvik虚拟机中的一个实例,运行在自己的进程中。Dalvik虚拟机旨在一台设备上高效运行多个虚拟机。Dalvik虚拟机的可执行文件格式为。dex,这是一种专门为Dalvik设计的压缩格式,适用于内存和处理器速度有限的系统。包括JVM在内的大多数虚拟机都是基于栈的,而Dalvik虚拟机是基于寄存器的。这两种架构各有优缺点。一般来说,基于堆栈的机器需要更多的指令,而基于寄存器的机器需要更大的指令。Dx是一套可以转换Java的工具。分类成。dex格式。一个dex文件通常有多个。班级。因为有时必须对dex进行优化,所以它会将文件大小增加1-4倍,以ODEX结束。Dalvik虚拟机依靠Linux内核提供基本功能,如线程和底层内存管理。
3、图书馆
Android包含了一个C/C++库的集合,可以被Android系统的各种组件使用。这些功能是通过Android的应用框架暴露给开发者的。下面列出了核心库:System C library-标准C系统库(libc)的BSD衍生物,基于嵌入式Linux设备媒体库PacketVideo调整为OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG界面管理-管理访问显示子系统和2D以及3D图形层LibWebCore,这是一个新的Web浏览器引擎,它驱动Android浏览器和嵌入式web view SGL -一个基本的2D图形引擎3D库-基于OpenGL ES 1.0 APIs,使用库硬件3D加速或FreeType,其中包含高度优化的3D软件光栅-位图和矢量字体渲染SQLite -是一个强大而轻量级的关系数据库引擎
4、应用框架
通过提供一个开放的开发平台,Android使开发者能够编写极其丰富和新颖的应用程序。开发者可以自由利用设备的硬件优势,访问位置信息,运行后台服务,设置闹钟,在状态栏添加通知等等。开发者可以充分利用核心应用使用的框架API。应用程序的架构旨在简化组件的重用。任何应用程序都可以发布它的函数,任何其他应用程序都可以使用这些函数(受框架施加的安全限制的约束)。这种机制允许用户更换组件。所有的应用实际上都是一组服务和系统,包括:View)——一组丰富的、可扩展的视图,可以用来构建一个应用。包括列表、网格、文本框、按钮,甚至嵌入式web浏览器内容提供程序)-使应用程序能够访问其他应用程序的数据,如地址簿,或共享自己的数据资源管理器)-提供对非代码资源的访问,如本地化字符串、图形和布局文件的通知管理器-活动管理器)-使所有应用程序能够在状态栏中显示自定义警告-管理应用程序生命周期,并提供常规导航和回退功能。
5、应用
组装一套核心的安卓应用,包括邮件客户端、短信程序、日历、地图、浏览器、联系人等设置。所有应用程序都是用Java编程语言编写的。更多丰富的应用等着我们去开发!从上面我们知道Android的架构是分层的,非常清晰,分工非常明确。Android本身就是一套软件栈,或者说“软件栈架构”,主要分为三层:操作系统、中间件、应用程序。