0

我读过这个didReceiveMemoryWarning实际上并没有真正帮助的功能。我想展示一个 UIAlert 视图来告诉用户他即将采取的行动会导致内存问题。

因此,除了崩溃(这是通知用户收到内存警告的一种令人讨厌的方式)之外,是否有可能实现 UIAlertView?

4

3 回答 3

3

在您的应用程序委托类(例如 MyApplicationAppDelegate.m)中实现 didReceiveMemoryWarning 方法:

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
  // Show an alert
  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Warning"
                                                  message:@"Running low on memory"
                                                 delegate:nil
                                        cancelButtonTitle:@"OK"
                                        otherButtonTitles:nil];

  [alert show];
  [alert release];
}
于 2010-02-24T12:26:04.130 回答
1

Pheelicks 确实为您的问题提供了一个很好的答案,但这绝对不是您想要做的。当您收到此警告时,您已经处于内存不足的状态。当您收到此警告时,您想要做的是释放尽可能多的内存。就像您可能保存在内存中的大型图像、大型字符串数组或任何其他大型对象一样。仪器将帮助您找到罪魁祸首。

此外,您还想在分配大量内存的任何视图控制器上实现 didReceiveMemoryWarning 以便他们也可以在那里进行一些清理

希望这会有所帮助:)

于 2010-02-24T13:36:14.643 回答
0

他即将采取的行动会导致记忆问题

如果您知道用户采取的某些操作会导致内存问题,您应该阻止他们采取该行动,或者在他们即将采取行动时自己警告他们(使用警报视图)。

于 2010-02-24T12:29:15.280 回答