如何在真正的iphone / ipad设备(不是模拟器)上测试内存不足的情况?

时间:2010-11-17 02:26:32

标签: iphone ipad memory ios-simulator

我知道模拟器上有“模拟内存警告”。但是,很多人都说该应用应该在真实设备上进行测试。如何在真实设备上测试内存不足情况?在后台运行尽可能多的应用程序?有更好的方法吗?

感谢。

3 个答案:

答案 0 :(得分:10)

您可以使用私有API发送低内存消息:

[[UIApplication sharedApplication] _performMemoryWarning];

虽然请记得从发布中移除否则您的应用可能会被拒绝;)

Kudos转到:http://forum.148apps.com/showpost.php?p=8603&postcount=3

答案 1 :(得分:5)

上一个答案无法在我的机器上编译。解决方法是调用performSelector:,如下所示:

[[UIApplication sharedApplication] performSelector:@selector(_performMemoryWarning)];

答案 2 :(得分:1)

你可以尝试一些技巧:

在低内存委托调用中放入一些NSLog语句,看看你的应用是否在正常使用中进行了压力测试。

如果不是:

在运行您的应用之前,启动几个在Safari中下载的大型慢速网站;然后在测试您的应用时,将一些大型电子邮件发送到测试设备上的推送帐户。

对于压力测试目的(使用预处理器定义,不在您的分发版本中),malloc额外的10或20或某些测试数兆字节,您的应用程序不需要,写入一些垃圾/兰特( )数据弄脏页面,不要释放它(你可以故意泄漏25MB的最大压力)。

您还可以创建自己的测试背景应用程序,例如播放静音的音乐播放器,在测试应用程序之前将其置于后台,并让背景音频回调分配并弄脏一些大块数据。