APP测试中ios和androis的区别,有哪些注意点

news2024/10/7 6:45:31

目录

一、运行机制不同

二、对app内存消耗处理方式不同

三、后台制度不同

四、最高权限指令不同

五、推送机制不同

六、抓取方式不同

七、灰度发版机制不同

八、审核机制不同

总结感谢每一个认真阅读我文章的人!!!

重点:配套学习资料和视频教学


一、运行机制不同

IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制

1、沙盒机制:

概念:沙盒是一种安全机制,用于防止不同应用之间互相访问

作用:就是存储数据,每个沙盒就相当于每个每个应用的系统目录

核心:sandbox对应用程序执行各种操作的权限限制

描述:

  • 每个应用都有自己对应的沙盒,应用的活动范围都限定在自己的沙盒里

  • 每个应用程序之间不能相互访问非本程序的沙盒( APP之间不能相互通,唯独可以通过URL Scheme可以通信)

  • 在访问别人沙盒内的数据时需要访问权限,应用程序请求的数据都要通过权限检测,不符合条件的话,不会被放行

  • 用于保存非代码文件,例如图像,图标,声音,映像,属性列表,文本文件等。

2、虚拟机机制:

  • android本身不是为触摸屏打造的,所以所有的应用都是运行在一个虚拟的环境中,由底层传输数据到虚拟机中,再由虚拟机传递给用户UI,任何程序都就可以轻松访问其他程序文件。

            

 

二、对app内存消耗处理方式不同

Apple的应用程序在内存消耗过高时会收到内存警告,如果不及时处理的话应用程序会自动退出,而不像Windows系统一样,中了病毒或者木马会一直消耗内存,直到内存没有了才宕机。

三、后台制度不同

IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭

ios的后台是伪后台,iOS应用被送到后台,它的主线程会被暂停,其他进程会有一点处理数据的时间,然后所有的线程都被挂起了

iOS系统后台机制大概可以分为5种状态:

  • Not Running:APP没有启动,也没有后台运行;

  • Active:用户正在使用APP,比如说我们聊微信看网页的时候,APP就处于Active状态;

  • Inactive:这是一个过渡的状态,APP虽然打开了,但是用户没有跟APP有任何互动操作;

  • Background:APP在后台运行,微信会在没有打开的时候接收消息;

  • Suspended:APP虽然在后台运行,但是处于休眠状态,只占用一点内存

安卓的所有应用都可以在后台运行,除非用户自己手动操作或者内存不足才会关闭,android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机,每个app都有自己的进程,每个进程都有自己的内存空间

安卓的进程从高到底分为5种:

  • 前台进程:正在与用户交互的进程,通俗来讲就是你当前使用app的进程;

  • 可见进程:可以被用户看到,但是没有和用户交互,例如一个activity以对话框的形式覆盖在当前activity上面,当前activity可以被用户看到,但是不和用户交互;

  • 服务进程:这个相信大家都熟悉,也就是我们常说的service,能够运行在后台,常见的有音乐类的app;

  • 后台进程:注意,这个后台进程不要和服务进程搞混了,它的意思是说当前app在后台运行,例如我启动了app,然后点击home返回到桌面,那么这个app就会被切回到后台进程;

  • 空进程:空进程指的是在这些进程内部,没有任何东西在运行。保留这种进程的的唯一目的是用作缓存,以缩短该应用下次在其中运行组件所需的启动时间。

四、最高权限指令不同

  • IOS中用于UI指令权限最高

  • 安卓中数据处理指令权限最高

五、推送机制不同

  • iOS在软件关闭的情况下,依然可以接收推送信息

    机消息当然都是通过服务器推送到我们手机上的,对于iOS的用户来说,苹果有APNs服务器来负责消息的推送。当你第一次使用APP时,会询问是否接收通知,如果你选择了是,那么服务器就会记录你的ID,当有消息通知的时候,这些数据是先推送到苹果的服务器中,然后通过苹果的APN服务器推送到用户手机上的。这样的设计让软件彻底关闭的时候还可以接收到消息通知,一方面释放内存,一方面也不会耽误接收消息。

  • Android在软件关闭的情况下,无法接收推送信息

    在Android手机来说,谷歌也有类似的GCM服务器来推送消息,不过因为国内的手机都没有谷歌服务无法收到谷歌GCM服务器推送的消息。

    安卓的推送都是通服务来实现的,就算应用没有启动但是服务还在一样可以收到推送。所以只能是安卓自己启动Services来实现推送,当应用杀死后Services如果被杀死就无法收到推送

六、抓取方式不同

  • ios调试需要使用xcode

  • 安卓使用adb

                                    

 

七、灰度发版机制不同

  • ios灰度机制

    是将同一个包在七天内七个阶段从1%放到100%

    也可以在灰度过程中,直接放到100%

    在这个包发现线上bug的时候,可以将发包进度暂停,修正bug后,上传新包

  • 谷歌灰度机制

    可以给一个包指定一个灰度量,然后逐渐放量到100%

    也可以给不同的rc包指定不同的量,发到全量

八、审核机制不同

ios发包审核比较严格,经常被拒

  • ios没有返回键

    安卓测试需要注意点击返回键后的反馈是否正确

  • ios比较流畅

    适配测试,Android端比较多,ios较少

新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash)

总结
感谢每一个认真阅读我文章的人!!!

如果下面这些资料用得到的话可以直接拿走:

1、自学开发或者测试必备的完整项目源码与环境

2、测试工作中所有模板(测试计划、测试用例、测试报告等)

3、软件测试经典面试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

6、Python学习路线图

                  

 

重点:配套学习资料和视频教学

那么在这里我也精心准备了上述大纲的详细资料包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如下,需要的点击下方名片加我VX免费领取,与我一起学习交流。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/362964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arduino-流水灯

LED流水灯实验产品介绍:电阻:电阻器通常分为三类:固定电阻器、可调电阻器及特殊电阻器。普通电阻器的识别电阻器阻值和允许误差常用的标志方法有下列3种。1、直接标志法将电阻器的阻值和误差等级直接用数字印在电阻器上。对小于1000W的阻值只…

C语言进阶(五)—— 多维数组

1. 一维数组 元素类型角度:数组是相同类型的变量的有序集合内存角度:连续的一大片内存空间在讨论多维数组之前,我们还需要学习很多关于一维数组的知识。首先让我们学习一个概念。1.1 数组名考虑下面这些声明:int a; int b[10];我们…

6、Fatfs系统移植

注意:挂载Fatfs笔记 Fatfs系统读写文件的时间是不固定的,随机性 搭载Fatfs的外设通信方式建议开启DMA方式,否则应避免中断打断时序,导致Fatfs出现FR_DISK_ERR(A hard error occurred in the low level disk I/O layer&…

金三银四丨黑蛋老师带你剖析-安全开发岗

作者丨黑蛋在之前呢,我们聊了二进制这块的病毒岗位,漏洞岗位,逆向岗位以及CTF这块的岗位。今天我们就来聊一聊安全开发类的工作岗位。首先网络安全方向中安全开发岗位都有哪些,安全开发主要指安全研发工程师或安全开发工程师&…

手写线程池实例并测试

前言:在之前的文章中介绍过线程池的核心原理,在一次面试中面试官让手写线程池,这块知识忘记的差不多了,因此本篇文章做一个回顾。 希望能够加深自己的印象以及帮助到其他的小伙伴儿们😉😉。 如果文章有什么…

运动戴耳机哪种款式比较好、最好用的运动耳机

很多人喜欢运动时听音乐,因为在运动场景中,听歌的节奏与步频匹配的时候,的确是可以起到很好的激励和缓解情绪的作用。认认真真地选择一副适合自己跑步的运动耳机,成了很多跑步爱好者的实际需求,专门为运动打造的耳机也不少!那么,如何挑选一款…

macm1安装qt6

macm1安装qt6 本文目录macm1安装qt6前提下载在线安装包使用安装包进行安装QT creator测试运行环境前提 需要安装xcode以及command line tools 需要先注册账号密码 根据官方提示,5.15版本以上就不支持离线安装了,需要下载在线安装包 OFFLINE_README.txt…

Anaconda和PyCharm的一些安装问题和命令

今天更新了Windows上的Anaconda到2.3.2,PyCharm到2022.3。 ——发现是纯纯的犯贱orz。出了一堆问题。在这里记录一下供后来者参考。 Anaconda安装 将.\anaconda3\Scripts 和.\anaconda3\Library\bin添加到系统环境变量中。 新建环境的目录在.\anaconda3\envs下 N…

Retrofit源码分析

文章目录一、简介二、源码分析2.1Retrofit的本质流程2.2源码分析2.2.1 创建Retrofit实例步骤1步骤2步骤3步骤4步骤5总结2.2.2创建网络请求接口的实例外观模式 & 代理模式1.外观模式2. 代理模式步骤3步骤4总结2.2.3执行网络请求同步请求OkHttpCall.execute()1.发送请求过程2…

解决 NestHost requires ASM7 (shrink、kotlin metadata)

① 场景 Caused by: java.lang.RuntimeException: NestHost requires ASM7Failed to resolve class org/vigame/demo/CrashHandler$1.class[transform input:not foundproject input:not foundaar input:not found]Caused by: java.lang.UnsupportedOperationException: NestH…

flstudio21中文版下载安装图文教程

fl studio21中文版是一款免费的音乐编曲制作软件,有了它你可以制作出色的音乐。它为您提供了一个集成的开发环境,使用起来非常简单有效,您的工作会变得更有条理。同时FL Studio为用户提供了更先进和原创的音乐制作理念,用户可以轻…

简单学生管理系统

文章目录1. 学生类2. 学生管理类3. 运行结果1. 学生类 包含四个属性,学号、姓名、年龄及地址。类中包含一个无参构造、一个有参构造以及各属性的 get、set 方法。 package com.zxe;public class Student {private String id;private String name;private String a…

Vue+element ui遇到的一些疑难问题总结(一)

element ui 疑难总结1. el-date-picker时间区间控制2. el-cascader 获取name3. el-tree 搜索判断是否匹配到值1. el-date-picker时间区间控制 控制只能选区间(7天,一个月,两个月等等)重点为 :picker-options"pickerOptions&…

Python爬虫(10)selenium爬虫后数据,存入csv、txt并将存入数据并对数据进行查询

之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Python爬虫(2)-Selenium控制浏览…

【原创】java+swing+mysql大学生竞赛管理系统设计与实现

上一篇文章我们介绍了使用swingtxt进行系统设计和数据存储,今天我们还是回归现实,使用javaswingmysql去设计开发一个大学生竞赛管理系统,以方便管理员对大学竞赛的一些信息进行管理。 功能分析: 大学生竞赛管理系统主要是提供给…

黄金短期陷入低位震荡颠簸

基本面: 周二(2月21日)黄金价格维持1843-1830区间震荡,日线收带上下影线小阴线。 今日数据 无重要数据 技术面: 日线上,黄金日线收带上下影线小阴线,目前处于短期线附近及下方运行,5日与1…

CAN现场总线基础知识总结,看这一篇就理清了(CAN是什么,电气属性,CAN通协议等)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…

FPGA纯Vhdl实现MIPI CSI2RX视频解码输出,OV13850采集,提供工程源码和技术支持

目录1、前言2、Xilinx官方主推的MIPI解码方案3、纯Vhdl方案解码MIPI4、vivado工程介绍5、上板调试验证6、福利:工程代码的获取1、前言 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰…

Vue3电商项目实战-商品详情模块3【07-★规格组件-SKUSPU概念、08-★规格组件-基础结构和样式、09-★规格组件-渲染与选中效果】

文章目录07-★规格组件-SKU&SPU概念08-★规格组件-基础结构和样式09-★规格组件-渲染与选中效果07-★规格组件-SKU&SPU概念 官方话术: SPU(Standard Product Unit):标准化产品单元。是商品信息聚合的最小单位&#xff0…

二月天-课后程序(JAVA基础案例教程-黑马程序员编著-第五章-课后作业)

【案例5-5】 二月天 【案例介绍】 1.任务描述 二月是一个有趣的月份,平年的二月有28天,闰年的二月有29天。本例要求编写一个程序,从键盘输入年份,根据输入的年份计算这一年的2月有多少天。在计算二月份天数时,可以使…