这是调用代码:
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification
object:[UIApplication sharedApplication]];
它无法从applicationDidReceiveMemoryWarning:
调用UIApplicationDelegate
。
有什么不对吗?
答案 0 :(得分:2)
在模拟器中,使用菜单触发低内存警告。
答案 1 :(得分:0)
使用UIApplicationMemoryWarningNotification
代替UIApplicationDidReceiveMemoryWarningNotification
应该做些什么:
[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
object:[UIApplication sharedApplication]];
答案 2 :(得分:0)
您无法通过发布通知来模拟内存警告。 UIApplicationDidReceiveMemoryWarningNotification
在收到内存警告时由 UIApplication
发布,但它没有观察到它,因此不会调用您的视图控制器didReceiveMemoryWarning:
手动发布此类通知时的方法。
正如Rob已经指出的那样,您可以使用“模拟内存警告”菜单项在iOS模拟器中模拟内存警告。
您还可以在视图控制器中观察通知,而不是实现didReceiveMemoryWarning:
,但我不建议这样做,因为当您伪造内存警告时,系统提供的视图控制器的行为可能会有所不同方式。