Android基础概念

Android是一个开源的,基于Linux的移动设备操作系统,主要使用于移动设备,如智能手机和平板电脑。Android是由谷歌及其他公司带领的开放手机联盟开发的。

概述Android

Android是Google开发的基于Linux平台的、开源的、智能移动设备操作系统。Android包括操作系统、中间件和应用程序,由于源代码开放,Android可以被移植到不同的硬件平台上。
Android是通过Java虚拟机来执行,并且系统需要占用大量内存来换取执行速度,再加上不定期的内存自动回收机制,从而直接导致了卡顿现象的出现。

Android开源,任何手机厂商和个人都能免费的获取Android操作系统的源码,并且可以自由地使用和定制。目前全球智能手机操作系统70%以上的份额

围绕Android系统形成了移植开发和上层应用程序开发两个不同的开发方面。手机厂商从事移植开发工作,上层的应用程序开发可以由任何单位和个人完成,开发的过程可以基于真实的硬件系统,还可以基于仿真器环境。

Android应用开发的特色

1、4大组件:Activity活动、Service服务、广播接收器Broadcast Receiver和内容提供者Content Provider

2、丰富的系统控件方便用户自定义界面的开发

3、SQLite是Android系统自带的轻量级、速度很快的嵌入式关系型数据库,支持SQL标准,同时允许使用Android封装好的API进行操作

4、强大的多媒体服务,例如音乐、视频、录音、拍照等

5、地理位置定位,每个手机都内置有GPS

6、权限的作用是保护Android用户的隐私。Android应用必须请求权限才能访问敏感用户数据

Android系统架构

Android是一个开放的软件系统,它包含了众多的源代码。Android从小到上可以分为Linux内核层、系统运行库层、应用框架层和应用层4层架构。

Linux内核层是由C语言实现的,主要为Android设备的各种硬件提供了底层的驱动,例如显示驱动、音频驱动、电源管理等

系统运行库层通过c/c++库为Android系统提供了主要的核心支持库,运行时库包含了ART运行环境,主要提供了一些核心库,能够允许使用Java语言编写Android应用;使得每个Android应用都能运行在独立的进程中,它针对手机内存和CPU性能有限等情况作了优化处理

应用框架层由Java语言实现的,主要提供了构建应用时可能用到的各种API,Android自带的核心应用就是使用这些API完成的,开发者也可以使用这些API构建自己的应用程序。对于Android应用开发而言,应用框架层次以下的内容是不可见的,仅考虑系统API即可。

应用层由Java语言实现,是安装手机上的应用程序,例如系统自带的联系人、短信等应用。

在这里插入图片描述

Android除了软件本身的代码之外,还提供了一系列工具来辅助系统开发,这些主要的工具包括:

1、aapt即Android Asset Packaging Tool,用于建立zip兼容的压缩包文件zip、jar、apk,也可用于将资源编译到二进制的assets。 „

2、adb即Android Debug Bridge调试桥。使用adb工具可以在模拟器或设备上安装应用程序的.apk 文件,并从命令行访问模拟器或设备。也可以用它把Android模拟器或设备上的应用程序代码和一个标准的调试器连接在一起。 „

3、android工具是一个脚本,用于创建和管理Android Virtual Devices即AVDs

4、AIDL工具即Android接口描述语言工具。AIDL工具可以生成进程间接口的代码,诸如Service可能使用的接口。 „

5、AVDs即Android虚拟设备主要用于配置模拟器,模拟出类似的设备效果 „

6、DDMS即Dalvik调试监视器服务。这个工具集成了Dalvik,能够在模拟器或者设备上管理进程并协助调试。可以使用它杀死进程,选择某个特定的进程来调试,产生跟踪数据,观察堆heap和线程信息,截取模拟器或设备的屏幕画面,还有更多的功能。 „

7、dx工具用于将.class 字节码bytecode转换为 Android 字节码(保存在.dex文件中)这个字节码文件是给Android的Java虚拟机运行用的。 „

8、Draw 9-patch工具允许使用所见即所得WYSIWYG的编辑器轻松地创建NinePatch图形。

9、Emulator模拟器是一个运行于主机上的程序,可以使用模拟器来模拟一个实际的Android系统的运行,使用模拟器非常适合调试和测试应用程序。 „

10、Hierarchy Viewer层级观察器工具允许调试和优化用户界面。它用可视的方法把视图view的布局层次展现出来,此外,还给当前界面提供了一个具有像素栅格grid的放大镜观察器。 „

11、mksdcard帮助创建磁盘映像disk image,可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如 SD 卡)。 „

12、Monkey是在模拟器或设备上运行的一个小程序,它能够产生随机的用户事件流,例如:点击 click、触摸touch,还包括一系列系统级事件。可以使用Monkey给正在开发的程序做随机的但可重复的压力测试。 „

13、sqlite3工具能够方便地访问SQLite数据文件,这是一个 sqlite 标准命令行工具。 „

14、Traceview工具可以将Android应用程序产生的跟踪日志trace log转换为图形化的分析视图。

Android发展史

Android操作系统最初由Andy Rubin开发,主要支持手机。

2005年8月由Google收购注资,而Android公司仅成立了22个月。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。

第一部Android智能手机发布于2008年10月。

2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。

2013年的第四季度Android平台手机的全球市场份额已经达到78.1%。

2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS,但运营收入不及iOS。

名称 平台版本号 API等级
Android R 11.0 30
Android Q 10.0 29
Android Pie 9.0 28
Android Oreo奥利奥 8.0-8.1 26-27
Android5是版本改动最大的一次,使用ART运行环境替代了Dalvik虚拟机,提升了应用的运行速度,同时提出了Material Design概念来优化应用的界面设计。

备注:本篇文章转载自蓝鸥高级讲师闫峻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值