Память iPhone - PullRequest
       33

Память iPhone

0 голосов
/ 24 февраля 2010

Я читал об этой функции didReceiveMemoryWarning, которая на самом деле не очень помогла. Я хотел бы показать UIAlert View, чтобы сообщить пользователю, что действие, которое он собирается предпринять, приведет к проблемам с памятью.

Таким образом, кроме сбоя, который является неприятным способом информировать пользователя о том, что в памяти получено предупреждение, возможна ли реализация UIAlertView?

Ответы [ 3 ]

3 голосов
/ 24 февраля 2010

В вашем классе делегатов приложения (например, 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];
}
1 голос
/ 24 февраля 2010

Феликс действительно дал вам хороший ответ на ваш вопрос, но это определенно не то, что вы хотите сделать.Когда вы получаете это предупреждение, вы уже находитесь в состоянии нехватки памяти.Когда вы получите это предупреждение, вы хотите освободить как можно больше памяти.Как большие изображения, которые вы можете хранить в памяти, большие массивы строк или любой другой большой объект.Инструменты помогут вам во многих случаях найти виновных.

Кроме того, вы также хотите реализовать didReceiveMemoryWarning на любом контроллере представления, который выделяет много памяти, поэтому они также могут выполнить некоторую очистку

помогает:)

0 голосов
/ 24 февраля 2010

действие, которое он собирается предпринять, привести к проблемам с памятью

Если вы знаете, что какое-то действие, предпринимаемое пользователем, приведет к проблемам с памятью, вы должны помешать им выполнить это действие или просто предупредить их, когда они собираются выполнить действие (с предупреждением).

...