О мультизадачности и закрытии приложений

25-11-2008, 20:39 | Просмотров: 6671Комментировать (2)

Одним из первых вопросов, возникающих у пользователей Android, является вопрос о том, как все-таки закрывать приложения. Привычного по устройствам WM (да и Linux тоже) крестика в углу окна нет, в меню приложений понятие Quit/Close/Exit тоже отсутствует. Нажатие Home или Back не приводит к закрытию приложений, оно после этого по прежнему остается в Task Manager.

Мы уже успели привыкнуть к тому, что много из того, что в Android нам кажется багом, на самом деле является фичей. Именно так обстоит дело и и подходом Гугла к мультизадачности. Подход, надо заметить, кардинально новый. Когда вы выходите/переключаетесь из активного приложения (кнопкой Home или Back), операционная система сохраняет его состояние на диск и выгружает из оперативной памяти. Когда вы с помощью Task Manager возвращаетесь к этому приложению, то операционная система загружает его в оперативную память и подгружает с диска сохраненное состояние на момент последнего выхода. Т.е. пользователю кажется, что приложение все это время работало в фоновом режиме, хотя это на самом деле не так.

Вкратце: don’t panic. Если приложение написано без memory leak ошибок и не пытается намеренно обойти алгоритм сохранения текущего состояния на диск, то мучаться как все-таки закрыть приложение не следует.


Рейтинг@Mail.ru