Почему интерфейс Android по-прежнему тормозит, а у iOS 10 нет

Почему интерфейс Android по-прежнему тормозит, а у iOS 10 нет

Несмотря на уже приличную версию системы и постоянные оптимизации и улучшения, Android продолжает подтормаживать, и лаги ОС раздражают пользователей.

Как выяснилось, приложения в iOS 10 во время скролла заранее загружают необходимый контент, что полностью избавляет софт от возможных «подлагиваний» при просмотре больших списков.

К примеру, программы вроде Airbnb выводят в окне сотни объектов с данными в ячейках и блоках. Если пользователь начинает быстро пролистывать содержимое, интерфейс может «подвисать». Данное явление принято называть «падением фреймов» и, как отметили в Apple, оно ухудшает восприятие ПО пользователем.

В ходе обучающих сессий на WWDC компания объяснила природу этого явления. Дело в том, что сейчас контент в приложениях загружается по мере появления. Ячейки с данными подгружаются непосредственно в тот момент, когда выводятся на экран. Хотя рендеринг всего интерфейса в iOS происходит в отдельном потоке пользовательского интерфейса в режиме приоритета реального времени с частотой 60 кадров в секунду, в нынешнем виде механизм скроллинга не всегда успевает за такой скоростью.

iOS-10-plavn-3

Чтобы не допустить «падение фреймов», в iOS 10 контент загружается за несколько миллисекунд до того, как появляется на экране. При этом скорость получения данных зависит от скорости пролистывания списка. По словам Apple, предварительная загрузка содержимого списков обеспечивает плавное пролистывание, вне зависимости от их размера.

Данные изменения в iOS 10 работают по умолчанию, разработчикам ничего не нужно делать, чтобы использовать новую функцию. Тем не менее, если новый принцип работы списков не понравится, его можно отключить одной строчкой кода.