Android: цикл активности после Force Close - PullRequest
1 голос
/ 01 декабря 2011

В моем приложении иногда может потребоваться много времени для загрузки некоторых значений (например, извлечения направления движения из карт Google). Это приводит к запуску диалогового окна предупреждения «Ожидание». Я хочу знать, что происходит, когда Force закрывается кнопка нажата? Я имею в виду, какой код будет запускаться при включении принудительного закрытия? Можем ли мы вручную настроить время, в течение которого появляется диалоговое окно «Ожидание»? Если нет, то какое время по умолчанию появляется в этом диалоговом окне?

Ответы [ 4 ]

2 голосов
/ 01 декабря 2011

Я знаю, что иногда это может раздражать, но они сделали это довольно целенаправленно (на мой взгляд), чтобы программисты могли убедиться, что их приложение работает без сбоев пользовательского интерфейса. Я не могу найти документы об этом прямо сейчас, но если я правильно помню, это около 4 секунд .. вам просто нужно убедиться, что в вашем приложении нет зависания или задержки пользовательского интерфейса, а это означает, что если ваши значения загружаются более чем за пару секунд, они должны загружаться асинхронно.
вам нужно перенести любую тяжелую загрузку из вашего основного действия для асинхронного запуска (используя асинхронную задачу или поток ).

1 голос
/ 01 декабря 2011

Вы должны прочитать эту статью о потоке Android.

Вы никогда не захотите выполнять какие-либо длительные задачи в своем основном потоке.Если операция займет больше доли секунды, вы должны использовать AsyncTask или создать свой собственный фоновый поток для выполнения задачи.

0 голосов
/ 01 декабря 2011

Не следует выполнять трудоемкую инициализацию в потоке событий. Вы должны запустить фоновый поток (или AsyncTask ), чтобы выполнить работу по инициализации. См. Раздел руководства Проектирование для отзывчивости . Последующее чтение должно включать Процессы и потоки и Безболезненная резьба .

0 голосов
/ 01 декабря 2011

Насколько я знаю, когда вы попадаете в этот диалог, операционная система Android взяла верх и убивает ваш процесс. Если это обычное явление, дамп стека должен быть полезен для определения причины сбоя вашего приложения.

...