这是通话代码:

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

它不能调用 applicationDidReceiveMemoryWarning:UIApplicationDelegate.

哪里不对了?

有帮助吗?

解决方案

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

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

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

其他提示

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

enter image description here

应该使用什么 UIApplicationMemoryWarningNotification 代替 UIApplicationDidReceiveMemoryWarningNotification:

[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
        object:[UIApplication sharedApplication]];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top