Несмотря на уже приличную версию системы и постоянные оптимизации и улучшения Android продолжает подтормаживать, и лаги ОС раздражают пользователей. iOS, в свою очередь, по-другому обрабатывают вмешательство пользователя, поэтому работает более плавно. Новая редакция операционной системы Apple помимо видимых изменений содержит ряд внутренних, призванных улучшить впечатление от работы с мобильными устройствами. Одно из них касается плавности интерфейса приложений.
Приложения в iOS 10 во время скролла будут заранее загружать необходимый контент, что избавить софт от возможных «подлагиваний» при просмотре больших списков.
К примеру, приложения вроде Airbnb выводят в окне сотни объектов с данными в ячейках и блоках. Если пользователь начинает быстро пролистывать содержимое, интерфейс может «подвисать». Данное явление принято называть «падением фреймов» и, как отметили в компании, оно ухудшает восприятие ПО пользователем.
В ходе обучающих сессий на WWDC Apple объяснила природу этого явление. Дело в том, что в iOS 9 контент в приложениях загружается по мере появления на экране. Ячейки с данными подгружаются непосредственно в тот момент, когда выводятся на экран. Хотя рендеринг всего интерфейса в iOS происходит в отдельном потоке пользовательского интерфейса в режиме приоритета реального времени с частотой 60 кадров в секунду, в нынешнем виде механизм скроллинга не всегда успевает за такой скоростью.
Чтобы не допустить «падение фреймов» в iOS 10 контент загружается за несколько миллисекунд до того, как появляется на экране. При этом скорость получения данных зависит от скорости пролистывания списка. По словам Apple, предварительная загрузка содержимого списков обеспечивает плавное пролистывание, вне зависимости от их размера.
Данные изменения в iOS 10 работают по умолчанию, разработчикам ничего не нужно делать, чтобы использовать новую функцию. Тем не менее, если новый принцип работы списков не понравится, его можно отключить одной строчкой кода.