Android开发基础总结
来源:互联网 发布:剑三成男绯梨数据 编辑:程序博客网 时间:2024/05/16 07:36
Android 开发学习基础开始:
先学习Android的系统架构:
分为4层: 从低到高是 linux 内核层 ;系统运行库;应用程序框架层; 和应用层.
一:应用程序层:
该层不仅包括系统内置的应用也包括用户自己安装的应用,比如 Email 客户端、SMS 短消息程序、日 历、地图、浏览器、联系人管理程序、QQ、微信、淘宝、美团等。改成所有的应用程序都是使用Java语言编写的。
二 程序框架层:1
Activity Manager:活动管理器:用来管理应用程序生命周期并提供常用的导航回功能
2
views :用来构建应用程序,他包括列表 (lists) 网格(grids) 文本框(textbxes) 按钮(buttons) 甚至可以嵌入 web 的浏览器
3
Content Providers: 使得应用程序可以访问另一个应用程序的数据 或共享他们自己的数据
4
Resource Manager:提供非代码资源的访问,如本地字符串.图形,和布局文件(layoutfiles)
5
Notification Manager: 使得应用程序可以在状态栏中显示自定义的提示信息
三.系统运行库层
该层主要分为Libaries程序库和Android Runtime库
1. 程序库
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:
l Surface Manager - 对显示子系统的管理,并且为多个应用程序提供了2D和3D 图层的无缝融合。
l 媒体库- 该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。
l SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
l OpenGL ES - 该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
l FreeType -位图(bitmap)和矢量(vector)字体显示。
l WebKit - 一个最新的web浏览器引擎,支持Android浏览器和一个可嵌入的web视图(WebView)。
l SGL - 底层的2D图形引擎
l SSL - SSL(Secure Sockets Layer 安全套接层),在传输层对网络连接进行加密,为网络通信提供安全及数据完整性的一种安全协议,。
l Libc - 一个标准C系统函数库( libc )。
2. Android Runtime 库
Core Libraries - 该核心库提供了Java编程语言核心库的大多数功能。
Dalvik Virtual Machine - 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik 虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
四.Linux内核层
Android 的核心系统服务依赖于 Linux 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux 内核也同时作为硬件和软件栈之间的抽象层。
ART虚拟机:主要原理 用空间换取时间
缺点:
ART 模式可以降低手机硬件配置要求,减少RAM内存依赖,不过在安卓4.4系统中,安装应用的时间比安卓4.4以下版本系统更长,这主要由于应用安装过程中需要先执行编码导致,并且安装应用更占存储空间(ROM)
安卓工程的开发工具:
一般使用带插件的eclipse 和现在 大多使用的Android studio
安卓 的五大布局:
Android 有5大布局,分别是RelativeLayout、LinearLayout、FrameLayout、AbsoluteLayout、TableLayout。不过前3种布局才是最常用的布局,AbsoluteLayout已经被Google废除,TableLayout可以被GridView替代,因此也很少用。
- Android开发基础总结
- Android 音视频开发中常见基础问题总结
- Android开发的基础技能总结(1)
- [Android开发]-Android开发基础
- Android基础总结 - Soduko
- android面试基础总结
- android面试基础总结
- android面试基础总结
- android面试基础总结
- android基础总结1
- android基础概念总结
- android基础学习总结
- android基础总结1
- Android基础:总结Activity
- Android 基础动画总结
- android基础总结
- Android Studio 基础总结
- Android基础知识点总结
- compareTo和equals
- CSDN如何转载别人的文章
- [LeetCode]237. Delete Node in a Linked List(删除链表结点)
- Mac shell终端行首行尾命令介绍
- readv和writev简单实现
- Android开发基础总结
- select标签以及默认选中当前分类问题
- 【IMWeb训练营作业】:Vue清单应用
- 未来让人兴奋的11项科技
- 基于嵌入式操作系统的物联网安全
- c++中getline 的用法
- U
- Mac下启动、停止、重启以及自动启动MySQL
- JavaScript学习-Document类型