предупреждение о вызове памяти iphone 3gs - PullRequest
0 голосов
/ 28 февраля 2011

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

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

Спасибо

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

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

0 голосов
/ 28 февраля 2011

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

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

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

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

...