无法模拟调用应用程序didReceiveMemorywarning:
-
24-10-2019 - |
题
这是通话代码:
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification
object:[UIApplication sharedApplication]];
它不能调用 applicationDidReceiveMemoryWarning:
从 UIApplicationDelegate
.
哪里不对了?
解决方案
您无法通过发布通知来模拟内存警告。这 UIApplicationDidReceiveMemoryWarningNotification
已发布 经过 UIApplication
当它收到内存警告时,但不会观察到它,因此不会调用您的视图控制器 didReceiveMemoryWarning:
当您手动发布此类通知时。
正如Rob已经指出的那样,您可以使用“模拟内存警告”菜单项在iOS模拟器中模拟内存警告。
您也可以观察视图控制器中的通知,而不是实施 didReceiveMemoryWarning:
, ,但我不建议这样做,因为当您以这种方式伪造内存警告时,系统提供的视图控制器的行为可能会有所不同。
其他提示
在模拟器中,使用菜单触发低内存警告。
应该使用什么 UIApplicationMemoryWarningNotification
代替 UIApplicationDidReceiveMemoryWarningNotification
:
[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
object:[UIApplication sharedApplication]];
不隶属于 StackOverflow