Есть ли способ всегда использовать default.png при возврате из фона? - PullRequest
1 голос
/ 29 августа 2011

В одном из моих приложений при возврате из фона я получаю непоследовательное поведение: иногда я получаю default.png, а иногда получаю снимок последнего экрана, на котором было приложение. В обоих случаях требуется интерфейсХорошая секунда или две, чтобы ответить снова.Поэтому я бы предпочел показать default.png, а не «пользовательский интерфейс без ответа»

Есть ли способ заставить приложение отображать default.png всегда, пока приложение снова не станет активным?

В настоящее время«глупый» способ сделать это, о котором я думал, это показать модальное представление с default.png и удалить его при возврате на передний план.

Немного разъяснений:

  1. Я делаю это, чтобы избежать не отвечающего пользовательского интерфейса.

  2. Я использую default.png, так как он выглядит как загрузка и дает лучший опыт, чем не отвечающий пользовательский интерфейс

  3. Приложение должно работать в фоновом режиме.

(А кому бы то ни было - нет, оно не закрывается, когда я иногда возвращаюсь и вижу default.png, а не последнее состояние пользовательского интерфейса- Загрузка приложения с самого начала имеет совсем другой путь, и я в этом уверен)

Заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 16 января 2012

Для будущих людей, заинтересованных в этом, вы можете использовать тот факт, что последний вид в приложении используется для отображения при загрузке приложения. Вы можете отобразить VC в качестве вашего перехода к фону, который будет представлять некоторую нагрузку - следовательно, достигая желаемого поведения.

Я уже видел несколько других приложений, использующих такое же поведение в случаях запуска операций при возврате в приложение.

0 голосов
/ 29 августа 2011

Просто установите в вашем Info.plist свойство «Приложение не запускается в фоновом режиме», чтобы ДА.Приложение никогда не будет работать в фоновом режиме, и при нажатии кнопки «Домой» оно будет просто остановлено.Итак, вы вернулись к поведению до iOS 4.

Обратите внимание, что когда вы видите теперь изображение по умолчанию при запуске, это просто потому, что ваше приложение было прервано, когда оно было в фоновом режиме.Это нормально, особенно для приложений, которые занимают много памяти, а затем не освобождают ее достаточно, прежде чем переходить в фоновый режим (я думаю, порог для ОС составляет около 18 МБ, но я не уверен)

0 голосов
/ 29 августа 2011

Скорее всего, вы тратите слишком много времени (выполняете слишком много вычислений) на такие методы, как applicationWillEnterForeground:, applicationDidBecomeActive: и т. Д. В качестве простого теста попробуйте закомментировать код в этих методах и посмотрите, возникает ли проблема еще раз.

0 голосов
/ 29 августа 2011

Это неправильное поведение, и вы можете столкнуться с ошибкой. В основном, пока ваше приложение находится в фоновом режиме, при запуске вы не должны видеть файл default.png, если вы не удалите его из фона (дважды щелкните кнопку «Домой» и удалите это приложение).

...