didreceivememorywarning 上的适当低内存警告消息!

Posted

技术标签:

【中文标题】didreceivememorywarning 上的适当低内存警告消息!【英文标题】:an appropriate low memory warning message on didreceivememorywarning ! 【发布时间】:2011-05-19 10:56:26 【问题描述】:

我的应用程序经常收到低内存警告,我重写了 didreceivememorywarninig 方法并尽我所能释放不需要的自定义对象。

通常当多个应用程序在后台运行(6 到 7 个应用程序)时我会收到内存警告,所以我想通知用户关闭一些可能有助于顺利运行我的应用程序的后台应用程序。

//警告信息:

//警告:内存不足。关闭其他应用程序可能会有所帮助。

-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application

   NSString *WarningMessage = [NSString stringWithString:@"Warning: You are running low on memory. Closing other applications might help."];

   UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyApp" message:WarningMessage delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
   [alert show];
   [alert release];

苹果会接受这种行为吗???? 谢谢。

【问题讨论】:

【参考方案1】:

好问题,但我看不出苹果有什么理由不接受这个……

【讨论】:

【参考方案2】:

我不确定你是否应该这样建议。无论如何,ios 都会清除它们。您应该为您的应用处理这种情况。

【讨论】:

【参考方案3】:

这绝对是个愚蠢的想法。它会混淆用户并产生糟糕的用户体验。

您缺少的是故意您收到内存不足警告并最终在后台被杀死。其他应用程序的行为完全相同。但好消息是,如果您在过渡到后台时做了正确的事情,用户将不会注意到这一点。对用户而言,所有这些应用程序似乎仍在运行。例如,在后台接收通知的应用程序仍然会收到它们,即使它们被杀死。当他们点击你的应用程序时,它会在他们离开的地方重新开始。

如果用户手动终止应用程序,所有这些精心设计的行为都会被破坏。未收到通知。用户在应用程序中丢失了他们离开的位置,但在点击应用程序时会从头开始。如果 Apple 发现您在做什么,我希望他们会拒绝您的应用程序,因为您没有为任何人提供任何帮助。

【讨论】:

以上是关于didreceivememorywarning 上的适当低内存警告消息!的主要内容,如果未能解决你的问题,请参考以下文章

如何在OpenGL应用程序中响应didReceiveMemoryWarning

iOS:didReceiveMemoryWarning 的帮助:

didReceiveMemoryWarning、viewDidUnload 和 dealloc

应该将 viewDidUnload 中的哪些工作移至 didReceiveMemoryWarning?

Swift 惰性变量和 didReceiveMemoryWarning

如何实现 didReceiveMemoryWarning?