当前位置: 首页 > news >正文

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

目录

一、运行机制不同

二、对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免费领取,与我一起学习交流。

 

相关文章:

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

目录 一、运行机制不同 二、对app内存消耗处理方式不同 三、后台制度不同 四、最高权限指令不同 五、推送机制不同 六、抓取方式不同 七、灰度发版机制不同 八、审核机制不同 总结感谢每一个认真阅读我文章的人!!! 重点:…...

使用 Xcode 创建第一个 Objective-C 命令行程序 HelloWorld

总目录 iOS开发笔记目录 从一无所知到入门 文章目录创建项目运行项目,查看日志输出同一项目下新增子目录,切换要运行的 Target创建项目 打开 Xcode ,Create a new Xcode project 接下来的默认界面: 切换到 macOS 下&#xff…...

【蓝桥杯集训8】哈希表专题(3 / 3)

目录 手写哈希表 1、开放寻址法 2、拉链法 字符串前缀哈希表法 2058. 笨拙的手指 - 哈希表 秦九韶算法(进制转换) 枚举 秦九韶算法——将x进制数转化为十进制数 手写哈希表 活动 - AcWing 1、开放寻址法 设 h(x)k,也就是 x 的哈希值…...

Java Scanner 类,超详细整理,适合新手入门

目录 一、什么是 Java Scanner 类? 二、引用数据类型 1、引用数据类型的定义 三、Scanner 类有哪些常用方法? hasNext()用法 四、next() 与 nextLine() 区别 next(): nextLine(): 五、使用 next 方法 五、使用 nextLine方法 一、什…...

干货 | 中小企业选型 Elasticsearch 避坑指南

1、线上常见问题在我线下对接企业或线上交流的时候,经常会遇到各种业务场景不同的问题。比如,常见问题归类如下:常见问题1:ES 适合场景及架构选型问题。公司的核心业务是做企业员工健康管理,数据来自电子化后的员工体检…...

全局组件和局部组件

全局组件第一种定义方法:A、创建自己的组件:Loading.vueB、在main.js文件中引入组件并注册import Vue from vue import App from ./App.vue import * as filters from ./filterimport quanjuzujian from ./components/quanjuzujian.vueVue.component(qua…...

提取括号中的内容

正则能解决不嵌套的括号内容提取问题遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了一下,发现用正则表达式(\[[^\]]*\])可以提取中括号中的内容,以下面文本为匹配对象:PerformanceManager[第1个中…...

数据结构-算法的空间复杂度(1.2)

目录 1.空间复杂度 1.1 例子 1.2 空间的特殊性质 写在最后: 1.空间复杂度 空间复杂度也是一个数学表达式, 是对一个算法在运行过程中临时占用存储空间大小的量度。 他也是用大O渐进表示法。 1.1 例子 例1: 冒泡排序: v…...

【总结】python3启动web服务引发的一系列问题

背景 在某行的实施项目,需要使用python3环境运行某些py脚本。 由于行内交付的机器已自带python3 ,没有采取自行安装python3,但是运行python脚本时报没有tornado module。 错误信息 ModuleNotFoundError:No module named ‘torn…...

Linux:基于libevent读写管道代码,改进一下上一篇变成可以接收键盘输入

对上一篇进行改进&#xff0c;变成可以接收键盘输入&#xff0c;然后写入管道&#xff1a; 读端代码&#xff1a; #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <s…...

C语言格式化输出总结:%d,%c,%s,%f, %lf,%m.nd,%m.nf,%m.ns 以及sprintf函数

凡事发生必将有益于我&#xff0c;高手&#xff0c;从来都不仅仅是具备某种思维的人&#xff0c;而是那些具备良好学习习惯的人&#xff0c;成为高手&#xff0c;无他&#xff0c;手熟尔&#xff01;加油在最近的学习之中&#xff0c;对于格式化输出这个知识点&#xff0c;这里…...

Nginx之反向代理、负载均衡、动静分离。

Nginx之反向代理、负载均衡、动静分离。 1、Nginx是啥&#xff1f; 轻量级Web服务器、反向代理服务器、电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器 在 BSD-like 协议下发行、占内存少、并发高&#xff08;同时处理请求能力&#xff09;。 2、安装 官网&#xf…...

0401不定积分的概念和性质-不定积分

文章目录1 原函数与不定积分的概念1.1 原函数1.2 原函数存在定理1.3 不定积分2 不定积分的性质3 基本积分表4 例题后记1 原函数与不定积分的概念 1.1 原函数 定义1 如果在区间I上&#xff0c;可导函数F(x)的导航为f(x)&#xff0c;即对任一x∈Ix\in Ix∈I&#xff0c;都有 F′…...

数组中的各种迭代API方法手写

js的数组上有很多实用的方法&#xff0c;不论是在遍历数组上&#xff0c;还是在操作数组内元素上&#xff0c;它有许多不同的遍历数组的方法&#xff0c;同时它还有着可以直接操作数组中间元素的方法。 接下来&#xff0c;我来带大家手写数组里的 遍历方法 。 Array.forEach(…...

详解量子计算:相位反冲与相位反转

前言 本文需要对量子计算有一定的了解。需要的请翻阅我的量子专栏&#xff0c;这里不再涉及基础知识的科普。 量子相位反冲是什么&#xff1f; 相位反转&#xff08;phase kickback&#xff09;是量子计算中的一种现象&#xff0c;通常在量子算法中使用&#xff0c;例如量子…...

C++——C++11第三篇

目录 包装器 function包装器 bind 包装器 function包装器 function包装器 也叫作适配器。C中的function本质是一个类模板&#xff0c;也是一个包装器。 上面的程序验证&#xff0c;我们会发现useF函数模板实例化了三份。 包装器可以很好的解决上面的问题 &#xff0c;让它只实…...

180 2 22222

选择题(共180题,合计180.0分) 1. 在项目开工会议期间&#xff0c;项目发起人告诉产品负责人和团队项目章程即将完成。然而&#xff0c;由于存在在紧迫的期限内满足政府监管要求的压力&#xff0c;发起人希望立即开始工作。产品负责人下一步应该做什么&#xff1f; A 告诉发起人…...

成人高考初中毕业能报名吗 需要什么条件

初中学历的人员不能直接报名成人高考&#xff0c;考生需要有普通高中&#xff0c;职业高中&#xff0c;中专毕业证等高中同等学力就可以进行报名&#xff0c;在报名期间登陆所在省的教育考试院的成人高考报名入口进行报考。成人高考报名条件是什么1、遵守宪法和法律。2、国家承…...

ChatGPT初体验

ChatGPT初体验 前言 嘿嘿&#xff0c;最近啊AI ChatGPT刷新各大网站&#xff0c;对于我们国人而将很不友好&#xff0c;真的太不友好了。我呢在去年open AI发布的时候就有所关注&#xff0c;那个时候还没有像现在这样火热。谁知道短短几个月便传遍大街小巷。 一、什么是chatG…...

ChatGPT概念狂飙!究竟魅力何在?

原文&#xff1a;http://www.btcwbo.com/6988.html 近期&#xff0c;ChatGPT引领的人工智能概念在资本市场一路狂飙&#xff0c;AIGC题材持续发酵。截至2月7日&#xff0c;Wind ChatGPT指数今年以来累计上涨超50%&#xff0c;汉王科技、海天瑞声、云从科技等概念股股价已经翻倍…...

实战教程:5步构建基于YOLOv5的FPS游戏智能瞄准系统

实战教程&#xff1a;5步构建基于YOLOv5的FPS游戏智能瞄准系统 【免费下载链接】FPSAutomaticAiming 基于yolov5的FPS游戏AI。 项目地址: https://gitcode.com/gh_mirrors/fp/FPSAutomaticAiming FPSAutomaticAiming是一个基于YOLOv5深度学习算法的FPS游戏自动瞄准系统&…...

NsEmuTools:10分钟搞定NS模拟器配置,让你专注游戏乐趣

NsEmuTools&#xff1a;10分钟搞定NS模拟器配置&#xff0c;让你专注游戏乐趣 【免费下载链接】ns-emu-tools 一个用于安装/更新 NS 模拟器的工具 项目地址: https://gitcode.com/gh_mirrors/ns/ns-emu-tools 还在为NS模拟器的复杂配置而头疼吗&#xff1f;每次想玩Swit…...

原来专业的赛事专用匹克球厂家有这么多门道?

引言在匹克球运动蓬勃发展的当下&#xff0c;专业赛事专用匹克球的选择至关重要。很多人可能不知道&#xff0c;看似普通的赛事专用匹克球背后&#xff0c;其实隐藏着诸多门道。接下来&#xff0c;我们就一起深入探究专业赛事专用匹克球厂家的秘密。核心技术与材料的门道专业赛…...

Taotoken的APIKey管理与访问控制功能保障了企业级安全

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken的APIKey管理与访问控制功能保障了企业级安全 当团队开始规模化使用大语言模型时&#xff0c;一个核心挑战随之而来&#…...

Windows安卓应用安装终极指南:APK Installer让你的电脑变身安卓平台

Windows安卓应用安装终极指南&#xff1a;APK Installer让你的电脑变身安卓平台 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为无法在Windows电脑上直接安装安卓…...

为Claude Code配置Taotoken解决账号封禁与Token不足难题

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为Claude Code配置Taotoken解决账号封禁与Token不足难题 对于依赖Claude Code进行日常编程辅助的开发者而言&#xff0c;直接使用官…...

终极指南:如何用猫抓浏览器扩展构建高效的流媒体资源嗅探工作流

终极指南&#xff1a;如何用猫抓浏览器扩展构建高效的流媒体资源嗅探工作流 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓&#xff08;cat-c…...

学习课程学习报告

本周主要学习了深度学习的基础理论&#xff0c;包括深度学习的数学本质、激活函数、前向传播与反向传播的原理。重点理解了非线性激活函数对模型表达能力的作用&#xff0c;掌握了前向传播的矩阵表示&#xff0c;并推导了反向传播的梯度计算过程&#xff0c;为后续神经网络训练…...

智慧树自动刷课插件终极指南:3步安装教程,彻底告别手动刷课烦恼!

智慧树自动刷课插件终极指南&#xff1a;3步安装教程&#xff0c;彻底告别手动刷课烦恼&#xff01; 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台的…...

如何快速掌握BepInEx插件框架:新手的完整避坑指南

如何快速掌握BepInEx插件框架&#xff1a;新手的完整避坑指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx插件框架是Unity Mono、IL2CPP和.NET框架游戏的强大插件和模组…...