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