Сбой приложения на заставке в iPhone 3G во второй раз, когда я открываю - PullRequest
0 голосов
/ 15 сентября 2011

Я разрабатываю приложение для iphone 3G и iPhone4, если я тестирую свое приложение на iPhone 4, все работает нормально, но если я тестирую свое приложение на iPhone, приложение 3G работает нормально, но если я нажму кнопку «Домой» на своем iPhone и скороесли я щелкаю значок приложения, отображается только заставка, и при отображении только заставки происходит сбой, если я подожду около 30 секунд после закрытия, и это работает, поскольку в iPhone 4 он имеет многозадачность и больше памяти, если я делаю тот же процессприложение не падает.Я не знаю, в чем проблема, это проблема моего кода?или айфон?или мне нужно обработать любой из методов appdelegate, таких как

1.applicationDidBecomeActive:
2.applicationWillResignActive:
3.applicationDidEnterBackground:
4.applicationWillEnterForeground:
5.applicationDidFinishLaunching:*

Любая помощь приветствуется заранее. Спасибо.

Ответы [ 3 ]

1 голос
/ 15 сентября 2011

Убедитесь, что вы не выполняете тяжелую обработку следующими способами

  1. applicationDidBecomeActive
  2. applicationDidFinishLaunching
  3. applicationWillEnterForeground

iOS прекратит работу вашего приложения, если оно требует времени в вышеуказанных методах, поэтому держите эти методы в чистоте и выполняйте обработку в вашем RootViewController и т. Д.

0 голосов
/ 15 сентября 2011

Поскольку iPhone 3G работает медленнее, он по-прежнему закрывает ваше приложение, когда вы пытаетесь запустить его снова.То, что оно не закрыто напрямую, может быть связано с тем, что вы делаете что-то, что занимает немного больше времени, чем вы ожидаете.

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

В основном это могут быть - (void)applicationWillTerminate:(UIApplication *)application или - (void)applicationDidEnterBackground:(UIApplication *)application.

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

0 голосов
/ 15 сентября 2011

Я советую вам использовать точки останова во время следующих методов, чтобы точно знать, что происходит в вашей программе:

applicationDidBecomeActive
applicationDidEnterBackground
applicationDidFinishLaunching
viewDidUnload (and all previous methods just before the unloading of the 
last view before you press your home button)
Allover your MainDelegate

Попробуйте запустить приложение в фоновом режиме и посмотрите, что получится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...