我尝试在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];
}
我该如何解决这个问题?
答案 0 :(得分:0)
不幸的是,Apple在iOS App Programming Guide中不鼓励你做什么。应用程序会短暂进入后台,让您释放内存。之后,应用程序暂停,无法接收消息,但applicationWillTerminate除外。如果发生低内存警告,则操作系统会根据需要终止挂起的应用程序。