Android基础理论

Android基础理论,第1张

概述Android系统基础对于测试来说的Android重大版本版本号主要特性5.0采用全新的MaterialDesign界面,采用ART虚拟机替换Dalvik虚拟机6.0采用全新的权限机制,在AndroidManifest.xml声明10.0支持可折叠设备,支持5GAndroid的基本架构内核层Android系统是linux内 AndroID系统基础对于测试来说的AndroID重大版本
版本号主要特性
5.0采用全新的MaterialDesign界面,采用ART虚拟机替换Dalvik虚拟机
6.0采用全新的权限机制,在AndroIDManifest.xml声明
10.0支持可折叠设备,支持5G
AndroID的基本架构内核层AndroID系统是linux 内核,支持linux命令linux内核档案馆更多linux命令运行库层

所有AndroID的APP运行需要的环境

每一个APP都可以理解为一个JAVA程序

跨平台运行需要借助虚拟机,运行库层就包括了虚拟机

APP原生APPWeb APP(使用网页开发技术)混合APP(应用中夹带网页)安卓虚拟机

Dalvik 安卓5.0版本以下

ART(AndroID Run Time) 安卓5.0版本及以上

ART虚拟机运行速度更快,但是比Dalvik虚拟机占用更大的空间,典型的以“以空间换时间”

WebKit渲染引擎

​ 可以让安卓系统的浏览器APP完美访问网页内容

​ APP打开一个网页连接并不需要使用浏览器,原理就是同样使用了WebKit进行了渲染

sqlite数据库

​ APP支持离线访问,就是利用sqlite数据库,存储一些数据

​ sqlite是谷歌常用数据库,谷歌浏览器里也嵌入了该数据库

拓展:	1. AndroID系统的app使用java或者Kotlin语言开发	   ios系统的app使用OC或Swift语言开发 			2.缓存(Cache)	  访问速度比一般随机存取存储区(RAM)快的一种高速存储器,并不是使用系统主存那样的DRAM技术,而是使用昂贵但比较快的SRAM技术。	  缓存的设置是现代计算机系统发挥高性能的重要因素之一。	  缓存分为L1缓存、L2缓存和L3缓存
应用程序框架

​ 各种各样的API,APP进行调用

应用层系统自带的APP安装的APP应用的四大组件activity活动

​ 所有安装包都有AndroIDManifest.xml配置清单文件,对所有活动进行配置和记录

​ 不同的活动是用户在APP界面上看到的页面或者一些页面上的元素按钮或者隐藏功能(如微信支付接口)

​ 活动也可以是各种安装时的权限

service后台服务

​ 例如:手机会定时询问微信是否有新的消息

broadcast receiver广播接收

​ 系统会在各种各样的情况下,发送广播消息,APP通过代码接收想要的广播

​ 例如:电量不足、网络异常、屏幕关闭/点亮

​ 手机电量不足时,单机游戏提示保存游戏存档

content provIDer内容提供

​ 系统为了安全性,每个APP都是独立的用户,通过用户权限设置进行数据或访问硬件进行隔离,APP之间访问数据需要使用content provIDer技术

​ 例如:微信发送照片,访问照片数据

APP资源文件的适配res资源目录

​ 安卓系统规定每个apk包内文件内需要存在一个res资源目录(resource)

res/	animator/	定义属性动画的XMl文件	anim/		定义渐变动画的XML文件	@R_502_6004@/		定义颜色状态列表的XML文件	drawable/	位图文件或编译为以下可会知对象资源子类型的XML文件	mipmap/		适用于不同启动器图标密度的可会知对象文件	layout/		定义用户界面布局的XML文件	menu/		定义应用菜单的XML文件	raw/		以原始形式保存的任意文件	values/		包含字符串、整型数和颜色等简单之的XML文件

重点
drawableAPP里的菜单图标
mipmap桌面上的APP图标
layout界面布局

拓展:
想要适配更多的手机/平板机型,就需要准备不同的资源文件用于选择,但是资源文件越多,apk文件大小就越大。
有些人把资源图标放到网络上管理,但弊端是需要消耗流量,

drawable
屏幕标识含义具体参数
ldpi低密度屏幕120dpi
mdpi中等密度屏幕160dpi
hdpi高密度屏幕240dpi
xhdpi超高密度屏幕320dpi
xxhdpi超超高密度屏幕480dpi
xxxdpi超超超高密度屏幕640dpi
nodpi不希望缩放
tvdpimdpi~hdpi之间213dpi
anydpi适合所有屏幕密度

​ DPI 每英寸点数

​ 手机/平板和APP的适配过程和原则

​ land 横屏

​ port 竖屏

系统权限的控制

v6.0版本后分为两部分

uses-permission(安装时权限 )

权限在apk安装包中的AndroIDManifest.xml文件中设置

例(一部分)
INTERNET联网
ACCESS_NETWORK_STATE访问网络状态
ACCESS_WIFI_STATE访问无线网络状态
READ_EXTERNAL_STORAGE读取外部存储
WRITE_EXTERNAL_STORAGE写入外部存储
BLUetoOTH蓝牙
uses-feature(运行时权限控制)

​ required属性如果没有指定,代表TRUE

苹果手机/平板对于测试工程师来说更轻松,因为系统不开源。

从软件功能角度去测试,也需要测试安装、卸载、更新,但是不需要关注权限问题


总结

以上是内存溢出为你收集整理的Android基础理论全部内容,希望文章能够帮你解决Android基础理论所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1082859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存