IOS内存安全阈值测试

news/2024/10/17 21:21:59/

转载:https://blog.csdn.net/redcard0/article/details/89029329

在iOS性能测试中经常会出现的一个场景是游戏制作人会问到内存到多少才不会崩溃,为了解答这个问题我们特进行此次测试。这一篇是针对IOS的测试,感谢github大神已经有现成的开源代码,这篇主要是针对测试结果的一个引申。大神可只关注测试结果。先说结果IOS内存崩溃值与机型和系统两个关键因素相关,且越新的系统内存利用率越高。

测试结果

测试机型

系统

整机内存

可用内存

崩溃内存

告警内存

IPhone SE

9.3.3

2010MB

1808MB

1395MB

1116MB

IPhone 5S

8.3

999MB

812MB

646MB

517MB

IPhone 6

8.3

987MB

819MB

647MB

518MB

iPhone 6P

9.0

977MB

750MB

645MB

516MB

iPhone 7

10.3.1

2000MB

1787MB

1393MB

1292MB

iPhone 7P

10.2.1

2998MB

2786MB

2042MB

1941MB

注:测试时,单个手机后台无其他进程运行。

测试原理  

基础测试原理如下:ios内存不足会产生memory warning,会释放当前view不使用的资源,通过监控内存告警可以获取ios内存告警值;ios系统上app崩溃时可以通过调用viewDidLayoutSubviews将此时的内存写入文件;ios内核基于Darwin 内核,通过系统sysctl函数,传入HW_MEMSIZE获取整机的物理内存,等同于sysctl -a | grep hw.physmem,通过传入HW_USERMEM获取用户态内存,等同于sysctl  -a | grep hw.usermem。

具体实现

ios view的生命周期如上,当view收到low memory warning时,在didReceiveMemoryWarning中将此刻的内存通过文件名称的形式备份到应用程序的私有目录下

受到low memory warning之后继续分配内存,与告警内存相似通过文件名备份到应用程序目录下,当内存不足,系统退出,那么此刻的内存就是崩溃时的内存,再次打开后读取即可。

内存利用率(告警内存/整机内存)与操作系统关系如下:

可以看到当10.x系统的内存利用率可以达到65%8.x,9.x系统的内存利用率在50%-55%之间。

限于时间和机型有限,未比较相同机型在不同系统下内存利用率。

 


http://www.ppmy.cn/news/743010.html

相关文章

iphone 如何渡过内存危机(OOM)

讲两件事情:第一件是我们必须做到的,不然OOM来袭会造成程序崩溃,第二件是我们最好做到的,不然OOM来袭我们不能彻底恢复。 1。防止OOM恢复过程中的crash 假设一个类有如下初始化和清除代码: void CMyClass::Init() …

centos7操作大全

不要走朋友,下面有很多安装教程(注意查阅目录) 基础命令 #查看cnetos7版本 cat /etc/centos-release #更改密码 passwd #(root指的是用户名,也可以不指定,默认更改当前用户) passwd root #删除文件命令 rm -f example.txt #删除…

可能是史上最全面的内存管理文章

iOS内存管理 概述 什么是内存管理 应用程序内存管理是在程序运行时分配内存(比如创建一个对象,会增加内存占用)与清除内存(比如销毁一个对象,会减少内存占用)的过程 为什么要管理内存 目前iPhone手机内存大多为1G,分配给每个应用程序的内存空间极其有限,当应用程序运行过程…

Android内存管理机制

转载地址:https://www.cnblogs.com/nathan909/p/5372981.html 1、基于Linux内存管理 Android系统是基于Linux 2.6内核开发的开源操作系统,而linux系统的内存管理有其独特的动态存储管理机制。不过Android系统对Linux的内存管理机制进行了优化&#xff0c…

取得当前iPhone内存使用量

文章转自&#xff1a;http://www.wangdg.com/?p482 #import <mach/mach.h> #import <mach/mach_host.h>static void print_free_memory () {mach_port_t host_port;mach_msg_type_number_t host_size;vm_size_t pagesize;host_port mach_host_self();host_size …

iPhone 内存管理

iPhone 内存管理 http://www.cnblogs.com/wwwkhd/archive/2011/01/12/1933788.html iPhone 内存管理(转) http://blog.csdn.net/ilysony/article/details/6332483 异步加载的网络图片的控件 http://hi.baidu.com/yangcong121/home http://dev.10086.cn/cmdn/wiki/i…

unity占内存大小_unity texture 占用内存大小对比

打包多种类型的项目,空项目和10张放在Resources文件夹中的图为比较案例。以下是比较数据。 IPHONE: 1.空项目----空间占用量42.3MB----IPA大小10MB 2.10张1200*520无压缩Texure 单张图占用量2.8MB----空间占用量70.2MB----IPA大小22.9MB 3.10张1200520压缩成10241024PVRTC4 单…

山东省职业院校技能大赛高职组“信息安全管理与评估”赛项样卷

发一个去年省赛的样题给大家比较一下 2022年山东省职业院校技能大赛高职组 “信息安全管理与评估”赛项 样卷 目录 一、赛项名称 二、赛项时间 第一阶段竞赛项目试题 (一)竞赛任务介绍 (二)