Во всех поколениях устройств Android - вплоть до Marshmallow - обновления операционной системы, по сути, работали одинаково: обновление загружается, телефон перезагружается, и обновление применяется. В это время телефон становится бесполезным, по крайней мере, до тех пор, пока обновление не будет полностью установлено. С новыми «бесшовными обновлениями» Nougat эта модель уходит в прошлое.
Как изменились обновления в Android 7.0 Nougat
Google взял страницу из собственной Chrome OS для нового метода обновления. Хромбуки всегда эффективно работали следующим образом: обновление загружается в фоновом режиме, а затем пользователю предлагается перезагрузка для завершения процесса установки. Одна быстрая перезагрузка позже, и обновление завершено - без ожидания установки обновления, без «оптимизации» или чего-либо еще, что, кажется, требует . Это быстро, просто и, самое главное, без необоснованного простоя.
Начиная с Android 7.0, это направление, в котором идут обновления Android. Здесь стоит упомянуть, что это применяется к устройствам, обновленным до Nougat, только к тем, которые поставляются с программным обеспечением. Причина этого совершенно логична: этот новый метод обновления потребует для работы два системных раздела, и почти все современные телефоны Android имеют только один. Повторное разделение устройства на лету может быть потенциально катастрофическим (и, вероятно, будет во многих сценариях), поэтому решение Google оставить его в покое на телефонах текущего поколения респектабельно, хотя и обескураживает.
Это работает примерно так: есть активный системный раздел и неактивный раздел, которые являются зеркальным отображением друг друга. Когда обновление OTA становится доступным, активный раздел загружает его, а затем обновляет неактивный раздел. Через одну перезагрузку бездействующий раздел становится активным, а ранее активный раздел становится неактивным, при этом применяется обновленное программное обеспечение.
СВЯЗАННЫЕ С: Как вручную обновить устройство Nexus с помощью заводских изображений Google
Это не только значительно ускоряет весь процесс обновления, но и служит своего рода системой резервного копирования. Если что-то пойдет не так с обновлением, система может обнаружить ошибку при загрузке и просто вернуться к незатронутому системному разделу. После перезагрузки он может еще раз проверить связь с серверами загрузки, повторно применить обновление и снова перезагрузиться, чтобы завершить процесс. По сравнению с тем, как катастрофические сбои обновления обрабатываются в текущей системе, которая требует большого взаимодействия с пользователем, инструментов разработки Android и знакомство с командной строкой - метод двойного разделения просто лучше.
Мы еще не видели это в действии, поэтому остается много вопросов
Конечно, здесь есть свои вопросы и опасения. Хотя мы понимаем, как эта система работает в теории, нам еще предстоит увидеть, как она работает на практике, поскольку у Nougat еще не было обновлений, и ни одно устройство не поставлялось с 7.0. Все это лишь предположения, но я предполагаю, что, например, когда применяется обновление, это, скорее всего, сильно ударит по производительности системы.
Кроме того, если вы хоть немного похожи на меня, вы прочитали приведенный выше раздел и подумали: «Сколько места займут два системных раздела?» Можно автоматически предположить, что это займет вдвое больше места, что не совсем неверно, но вы также должны помнить, что это разделы, что не означает, что потребуется по две копии каждого установленного приложения. Тем не менее, это означает, что нынешним системам, которые занимают один гигабайт - не редкость для ОС Android - теперь может потребоваться два гигабайта (или больше).
Тем не менее, Google перешел на новую файловую систему под названием SquashFS, которая представляет собой файловую систему с высокой степенью сжатия, доступную только для чтения, изначально разработанную для встроенных систем с нехваткой памяти. Это определенно должно помочь компенсировать некоторые проблемы с пространством, которые неизбежно связаны с настройкой двух системных разделов. Тем не менее, мы можем увидеть, что устройства поставляются с минимум из 32 ГБ продвигаются вперед. Время покажет.
Также неясно, что произойдет с новым неактивным разделом после обновления. Есть вероятность, что он может затем обновиться в фоновом режиме, а затем дождаться прибытия еще одного нового OTA, но нет технической документации, подтверждающей эту теорию - только я размышляю вслух. Тем не менее, мне кажется, что это имеет смысл, потому что в противном случае эта новая система, по-видимому, казалась бы одноразовым сценарием обновления, что является прямо противоположным направлением, в котором Google пытается здесь двигаться.
К сожалению, поскольку пока нет устройства, поддерживающего новую систему бесшовного обновления, некоторые из этих вопросов просто необходимо оставить без ответа. Когда начнут выпускать телефоны нового поколения, мы сможем лучше понять, как все это будет работать в реальном мире. Но пока: звучит очень хорошо.