2

这是调用代码:

[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification
                                                    object:[UIApplication sharedApplication]];

它不能applicationDidReceiveMemoryWarning:从调用UIApplicationDelegate

哪里不对了?

4

3 回答 3

2

在模拟器中,使用菜单触发内存不足警告。

在此处输入图像描述

于 2013-07-13T19:17:26.023 回答
0

您不能通过发布通知来模拟内存警告。当它收到内存警告时UIApplicationDidReceiveMemoryWarningNotification发布 但它没有观察到它,因此当您手动发布此类通知时UIApplication不会调用您的视图控制器的方法。didReceiveMemoryWarning:

正如 Rob 已经指出的那样,您可以使用“模拟内存警告”菜单项在 iOS 模拟器中模拟内存警告。

您也可以在视图控制器中观察通知,而不是实现didReceiveMemoryWarning:,但我不建议这样做,因为当您以这种方式伪造内存警告时,系统提供的视图控制器的行为可能会有所不同。

于 2013-07-13T19:56:18.220 回答
0

应该工作的是使用UIApplicationMemoryWarningNotification而不是UIApplicationDidReceiveMemoryWarningNotification

[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
        object:[UIApplication sharedApplication]];
于 2011-03-24T00:21:44.077 回答