Android мультитаксинг - PullRequest
1 голос
/ 30 мая 2011

Я ищу краткую характеристику многозадачности Android.Я обнаружил, что когда вы минимизируете приложение для Android, оно заканчивается и его процесс остается на заднем плане.Когда пользователь хочет повторно использовать свое приложение, этот процесс активен, это приложение.Пользователь будет в том же состоянии, когда он ушел (если при работе с ним было достаточно памяти), или он будет загружен с нуля, потому что не было свободной оперативной памяти для другой работы, и Android вышел из этого процесса.Я прав?Везде есть статьи на 20 страниц и более о мультитаксинге Android.Мне нужно знать ключевые моменты, потому что я теряюсь в таких длинных статьях.

Спасибо

Ответы [ 3 ]

2 голосов
/ 30 мая 2011

Краткий ответ: Да.Если ваше приложение может жить в памяти, несмотря на то, что оно «закрыто», оно останется в оперативной памяти, и обработка продолжится, когда вы снова щелкните по нему.В противном случае он будет перезапущен, и вы получите onResume ().

Длинный ответ: Пожалуйста, просто прочитайте Жизненный цикл активности : enter image description here

1 голос
/ 30 мая 2011

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

Activity.onSaveInstanceState (Bundle bundle)

После того, как ваша активность вернет управление, вы можете восстановить состояние с помощью

Activity.onRestoreInstanceState (Bundle bundle)

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

1 голос
/ 30 мая 2011

Когда активность Android покрывается другими окнами, она переходит в состояние паузы и вызывается метод onPause. Это может также меня уничтожить ОС и тогда будет вызван onDestroy. У вас очень мало контроля над ним, и вы не можете ожидать, что ваше приложение вернется в прежнее состояние. Тем не менее, когда активность снова поднимается на передний план, она будет проходить через шаги onCreate и onPause. Эти методы могут быть использованы для восстановления его состояния.

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

http://developer.android.com/reference/android/app/Activity.html

...