版本号 | 主要特性 |
---|---|
5.0 | 采用全新的MaterialDesign界面,采用ART虚拟机替换Dalvik虚拟机 |
6.0 | 采用全新的权限机制,在AndroidManifest.xml声明 |
10.0 | 支持可折叠设备,支持5G |
所有Android的APP运行需要的环境
每一个APP都可以理解为一个JAVA程序
跨平台运行需要借助虚拟机,运行库层就包括了虚拟机
Dalvik 安卓5.0版本以下
ART(Android Run Time) 安卓5.0版本及以上
ART虚拟机运行速度更快,但是比Dalvik虚拟机占用更大的空间,典型的以“以空间换时间”
? 可以让安卓系统的浏览器APP完美访问网页内容
? APP打开一个网页连接并不需要使用浏览器,原理就是同样使用了WebKit进行了渲染
? APP支持离线访问,就是利用SQLite数据库,存储一些数据
? SQLite是谷歌常用数据库,谷歌浏览器里也嵌入了该数据库
拓展:
1. Android系统的app使用java或者Kotlin语言开发
ios系统的app使用OC或Swift语言开发
2.缓存(Cache)
访问速度比一般随机存取存储区(RAM)快的一种高速存储器,并不是使用系统主存那样的DRAM技术,而是使用昂贵但比较快的SRAM技术。
缓存的设置是现代计算机系统发挥高性能的重要因素之一。
缓存分为L1缓存、L2缓存和L3缓存
? 各种各样的API,APP进行调用
? 所有安装包都有AndroidManifest.xml配置清单文件,对所有活动进行配置和记录
? 不同的活动是用户在APP界面上看到的页面或者一些页面上的元素按钮或者隐藏功能(如微信支付接口)
? 活动也可以是各种安装时的权限
? 例如:手机会定时询问微信是否有新的消息
? 系统会在各种各样的情况下,发送广播消息,APP通过代码接收想要的广播
? 例如:电量不足、网络异常、屏幕关闭/点亮
? 手机电量不足时,单机游戏提示保存游戏存档
? 系统为了安全性,每个APP都是独立的用户,通过用户权限设置进行数据或访问硬件进行隔离,APP之间访问数据需要使用content provider技术
? 例如:微信发送照片,访问照片数据
? 安卓系统规定每个apk包内文件内需要存在一个res资源目录(resource)
res/
animator/ 定义属性动画的XMl文件
anim/ 定义渐变动画的XML文件
color/ 定义颜色状态列表的XML文件
drawable/ 位图文件或编译为以下可会知对象资源子类型的XML文件
mipmap/ 适用于不同启动器图标密度的可会知对象文件
layout/ 定义用户界面布局的XML文件
menu/ 定义应用菜单的XML文件
raw/ 以原始形式保存的任意文件
values/ 包含字符串、整型数和颜色等简单之的XML文件
?
重点 | |
---|---|
drawable | APP里的菜单图标 |
mipmap | 桌面上的APP图标 |
layout | 界面布局 |
拓展:
想要适配更多的手机/平板机型,就需要准备不同的资源文件用于选择,但是资源文件越多,apk文件大小就越大。
有些人把资源图标放到网络上管理,但弊端是需要消耗流量,
屏幕标识 | 含义 | 具体参数 |
---|---|---|
ldpi | 低密度屏幕 | 120dpi |
mdpi | 中等密度屏幕 | 160dpi |
hdpi | 高密度屏幕 | 240dpi |
xhdpi | 超高密度屏幕 | 320dpi |
xxhdpi | 超超高密度屏幕 | 480dpi |
xxxdpi | 超超超高密度屏幕 | 640dpi |
nodpi | 不希望缩放 | |
tvdpi | mdpi~hdpi之间 | 213dpi |
anydpi | 适合所有屏幕密度 |
?
? DPI 每英寸点数
? land 横屏
? port 竖屏
v6.0版本后分为两部分
权限在apk安装包中的AndroidManifest.xml文件中设置
例(一部分) | |
---|---|
INTERNET | 联网 |
ACCESS_NETWORK_STATE | 访问网络状态 |
ACCESS_WIFI_STATE | 访问无线网络状态 |
READ_EXTERNAL_STORAGE | 读取外部存储 |
WRITE_EXTERNAL_STORAGE | 写入外部存储 |
BLUETOOTH | 蓝牙 |
? required属性如果没有指定,代表TRUE
?
苹果手机/平板对于测试工程师来说更轻松,因为系统不开源。
从软件功能角度去测试,也需要测试安装、卸载、更新,但是不需要关注权限问题
原文:https://www.cnblogs.com/lihaoyuan/p/14872525.html