О мультизадачности и закрытии приложений
Метки: android | linux
Вторник, 25 ноября 2008 г.
Просмотров: 2590
Подписаться на комментарии по RSS
Одним из первых вопросов, возникающих у пользователей Android, является вопрос о том, как все-таки закрывать приложения. Привычного по устройствам WM (да и Linux тоже) крестика в углу окна нет, в меню приложений понятие Quit/Close/Exit тоже отсутствует. Нажатие Home или Back не приводит к закрытию приложений, оно после этого по прежнему остается в Task Manager.
Мы уже успели привыкнуть к тому, что много из того, что в Android нам кажется багом, на самом деле является фичей. Именно так обстоит дело и и подходом Гугла к мультизадачности. Подход, надо заметить, кардинально новый. Когда вы выходите/переключаетесь из активного приложения (кнопкой Home или Back), операционная система сохраняет его состояние на диск и выгружает из оперативной памяти. Когда вы с помощью Task Manager возвращаетесь к этому приложению, то операционная система загружает его в оперативную память и подгружает с диска сохраненное состояние на момент последнего выхода. Т.е. пользователю кажется, что приложение все это время работало в фоновом режиме, хотя это на самом деле не так.
Вкратце: don’t panic. Если приложение написано без memory leak ошибок и не пытается намеренно обойти алгоритм сохранения текущего состояния на диск, то мучаться как все-таки закрыть приложение не следует.




Комментариев: 2
А как дело обстоит со всяческими аськами и другими месседжерами? Они тоже выгружаются из памяти или используют какие-то другие алгоритмы, чтобы постоянно находиться в сети?
]]>
читайте про Services тут http://developer.android.com/guide/topics/fundamentals.html