面试题-移动端测试

这篇博客主要探讨了移动端测试,特别是安卓和iOS平台的特性。在iOS中,有沙盒机制和伪后台,而在安卓系统中,后台应用可以持续运行。讨论了Android Activity的生命周期和四大组件,包括service、content provider和broadcast receiver。提到了Android内存管理和性能测试的关注点,如内存、CPU和耗电量。此外,还介绍了如何处理app的crash和ANR,以及Android系统的四层架构。
摘要由CSDN通过智能技术生成

安卓和ios平台特性

平台特性
在这里插入图片描述
沙盒机制
苹果公司推出的系统安全机制,ios上每个已用都有自己对应的沙盒,在没有越狱的情况下,每个应用程序之间不能相互访问,沙盒的作用的存储数据,相当于每个应用的系统目录
伪后台
后台驻留的是最近使用过的程序,而不是执行中的程序,一般按下home键后,若程序有额外的背景执行作业,超过10分钟会被ios中止。

ios只会给部分进程留有后台运行的权限,比如音乐播放。

苹果一直只能有一个程序在工作,其他的都会停掉,所以非常流畅

程序被停了,但是没有释放内存,继续放在内存中,好处是再次打开程序会回到之前关闭程序的界面,程序快速的继续运行。内存不够的时候,会按照程序的优先级和使用次数来决定哪些程序首先清出后台,挂起。

所以home键qq后,会自动下线,因此引入推送来解决这个问题

安卓后台
程序后台活动和前台没有区别,系统有一个规则来回收内存,进行内存调度有个阈值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。这个值默认设置得很小,实际不影响速度,相反加快了下次启动应用的速度,这也是安卓的优势之一

内存剩余不多的时候打开大型程序,会触发系统自身的进程调度策略,这是十分消耗系统自愿的的操作,这种情况下选择性关闭进程。

安卓应用切换到后台的时候,onStop()状态,已经被暂停了,并不会消耗cpu,只保留了运行状态,所以有些程序切出去重进会进入到主界面。

但是若一个程序想在后台处理些东西,比如音乐播放,就会开启一个服务,服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。标签service

安卓每打开一个应用就会打开一个独立的虚拟机,避免虚拟机崩了导致整个系统崩溃,代价是内存消耗

activity生命周期流程图

Android系统的底层是建立在Linux系统上的,本质是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个Javaapplication framework,所有的应用程序都是基于Java的application framework之上。
在这里插入图片描述

  • onCreat:创建activity时调用
  • onStart:窗口显示activity,对用户可见时调用
  • onResume:activity和用户开始交互时调用
  • onPause:activity被暂停或回收cpu和其他资源时调整,该方法用于保存活动状态
  • onStop:activity被停止或转为不可见阶段及后续的生命周期事件时调用
  • onRestart:重启activity时被调用,该活动仍在栈中,而不是启动新的活动
  • onDestroy:activity被完全从系统内存中移除时调用

安卓的四大组件

activity、service、content provider、broadcast receiver

activity

  1. 一个activity通常是一个单独的屏幕
  2. ac
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值