applicationDidReceiveMemoryWarning在后台运行时不起作用

时间:2011-10-21 12:35:40

标签: ios didreceivememorywarning

我尝试在iOS模拟器上模拟内存警告,结果发现,当应用程序在后台时,该功能当时没有被调用,但在应用程序再次激活后, applicationDidReceiveMemoryWarning < / strong>正在被召唤。

使用乐器:活动监视器进行测试时,我的应用程序在后台时没有释放任何内存,而其他应用程序的内存消耗则越来越少。

但是,如果我通过 applicationDidEnterBackground 调用 applicationDidReceiveMemoryWarning ,内存会正确释放,但我不想在此阶段释放内存。

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [glView applicationDidEnterBackground:application];

    // Function works if it's called from here, but not what I want.
    [self applicationDidReceiveMemoryWarning:application];
}

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
    [glView applicationDidReceiveMemoryWarning:application];
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

不幸的是,Apple在iOS App Programming Guide中不鼓励你做什么。应用程序会短暂进入后台,让您释放内存。之后,应用程序暂停,无法接收消息,但applicationWillTerminate除外。如果发生低内存警告,则操作系统会根据需要终止挂起的应用程序。