有办法做到这一点吗?如果是这样,在模拟器和/或真实设备中运行应用程序时如何以及如何完成?
是否有其他方法可以测试仪器中对内存警告的响应?
答案 0 :(得分:1)
在设备上,据我所知,发出内存警告的唯一方法实际上是创建一个低内存条件。你可以通过分配一大块内存并在几秒钟后释放它来做到这一点(不要忘记释放它,无论如何)。 这可能看起来像黑客,但是产生低内存条件的最可靠方式。
关于模拟器,您可能知道,在模拟器中运行应用程序时使用Instruments检查内存/性能问题并不完全可靠。无论如何,如果你想这样做,你可以尝试发送这个通知:
- (void)simulateMemoryWarning
{
#if TARGET_IPHONE_SIMULATOR
#ifdef DEBUG
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true);
#endif
#endif
}
(Source)
还要记住模拟器有“硬件/模拟内存警告”命令。
答案 1 :(得分:1)
您可以在运行iPhone模拟器时模拟内存警告,方法是转到菜单并选择:硬件>模拟内存警告,即使在运行仪器期间也可以随时进行。