Pull to refresh
2
Минас Абрамян@mabramyan

User

Send message

Поворот экрана во время выполнения долговременной операции

Reading time4 min
Reach and readers8.1K

Введение


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

Платформа Android, да и наверное многие другие платформы не позволяют выполнять долговременные операции в UI потоке. Выполняя долговременную операцию в UI потоке вы просто напросто повесите программу.

Android предлагает для решения такого рода задач AsyncTask. AsyncTask позволяет выполнять долговременную операцию и взаимодействовать с UI потоком.

Проблема


Казалось бы ничего сложного, создаем AsyncTask передаем созданному AsyncTask указатель на текущую Activity и все готово, фоновый процесс работает, обновляет UI, все счастливы.

Все прекрасно работает до тех пор, пока не сменится ориентация экрана (Книжная → Альбомная, Албомная → Книжная) или приложение не будет отправлено в фон. Обычно при таком подходе после смены ориентации экрана происходит краш приложения.
Читать дальше →

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity