iphone 3gs Память предупреждение вызова вызова

Привет, я просто хочу знать это: когда iphone 3gs и iphone 4 будут отправлять предупреждения памяти

Я имею в виду, через сколько памяти наше приложение отправляет предупреждения обоим устройствам?

Спасибо

2 ответа

Он не является строго определенным, но Apple предлагает не использовать более 24 МБ графической памяти, поскольку чрезмерное использование графической памяти обычно является причиной того, что приложение получает предупреждение о нехватке памяти. Единственный хороший способ справиться с критическими ситуациями с нехваткой памяти на iPhone - это реализовать didReceiveLowMemoryWarning делегировать методы и освободить как можно больше памяти на этом этапе. Это означает, например:

  1. Все невидимые изображения в данный момент загружены в память
  2. Все контроллеры представления и их подпредставления, если они не используются

Конечно, это можно сделать безопасно, если ваше приложение сможет перезагрузить эту информацию на более позднем этапе. didReceiveLowMemoryWarning Тем не менее, это крайняя ситуация для вашего приложения.

Чтобы избежать этого, рекомендуется загружать ресурсы только лениво, т. Е. Когда и только тогда, когда они вам нужны, и освобождать их, когда они больше не нужны (например, реализация viewDidUnload на всех ваших контроллерах).

Вы не знаете, когда он выстрелит. Вы не знаете, сколько памяти используется другими приложениями, работающими в фоновом режиме, Safari хранит веб-страницы и т. Д. Pandora может работать в фоновом режиме и использовать значительный объем памяти. Не рассчитывайте ни на какое количество памяти. Загрузка лениво, и освободить ненужные выделения в didRecieveMemoryWarning. Если вашему приложению требуется много памяти, некоторые разработчики игр советуют своим пользователям перезагрузить устройство перед игрой, чтобы обеспечить наибольшее количество памяти для приложения и лучшую производительность.

Другие вопросы по тегам