当app在后台时,没有获得didReceiveMemoryWarning

fie*_*sor 8 cocoa-touch didreceivememorywarning ios

didReceiveMemoryWarning当我的应用程序在iPad模拟器上处于后台状态时,我注意到我的视图控制器没有调用他们的方法.更具体地说,我applicationDidEnterBackground在我的日志中看到调用,然后我点击"模拟内存警告"按钮,然后我注意到一个特殊的缺乏任何didReceiveMemoryWarning呼叫.

但是,当我将应用程序带回前台时,我突然didReceiveMemoryWarning接到呼叫,好像它已经排队了.

我在这里感到困惑的是,如果我的应用程序真的在后台,或者它只是暂停了.有没有办法告诉模拟器?

此外,如果它尚未暂停,而且实际上只是在后台,那么我会觉得愚蠢,我无法处理didReceiveMemoryWarning.因为这意味着只有前台应用程序才能处理内存警告以释放空间,这当然很奇怪,前景应用程序可能只是可能数十个正在运行的应用程序中的一个,如果它们会更有意义都可以释放记忆.

无论如何,主要问题是:为什么我不didReceiveMemoryWarning进入后台状态?而且,我真的被停职了吗?我怎么说?

Hol*_*nce 8

如果您没有启动后台任务,或者在后台执行VOIP,位置跟踪或音频,那么您的应用会在applicationDidEnterBackground之后暂停.它不会收到任何通知.任何通知都会被保留(甚至是应用程序暂停后发生的通知),并在应用程序再次进入前台时发送到应用程序.