Известная всем операционная система Android, которая славится, в первую очередь, своими многочисленными улучшениями по части интерфейса и оптимизации, снова подтормаживает, что, конечно, не может не раздражать пользователей. Время показывает, что Apple более внимательно относится к замечаниям и отзывам своих клиентов. Каждая новая версия iOS содержит в себе не только изменения во внешнем оформлении или какие-то новые функции, но и внутренние изменения, которые можно обнаружить только в системном коде. И, как правило, главный упор разработчики iOS всегда делают на улучшение оптимизации.
К примеру, в 10-й версии «яблочной» ОС разработчики внедрили новую полезную возможность: во время пролистывания больших списков часть их автоматически подгружается, что позволяет избежать дополнительных нагрузок на систему и подлагиваний.
Рассмотрим это на основе приложения популярного сервиса авиабилетов AirBnB, используя который, пользователь всегда видит огромное количество выстроенных в ряд иконок. При быстром пролистывании (а это всегда происходит, когда много информации), часто происходит подвисание интерфейса. «По-научному» это называется не иначе, как падение фреймов, что значительно ухудшает целостное восприятие операционной системы пользователем.
Помимо представления новых версий ОС для своих устройств, на июньской конференции WWDC прошло несколько обучающих сессий, где разработчики сами рассказали, в чем природа периодических подвисаний ОС во время скролла длинных документов и приложений с большим количеством информации. Суть явления состоит в том, что контент в современных приложениях подгружается по мере своего появления на экране. Другими словами, таблицы и квадратные ячейки в том же AirBnB загрузятся только в тот момент, когда сами появятся на экране – когда пользователь до них дойдет. Таблички с информацией подгружаются непосредственно в тот момент, когда появляются на дисплее. Если рассматривать этот момент системно (изнутри), то можно сказать, что рендеринг пользовательского интерфейса в последней версии iOS происходит отдельным потоком со скоростью 70 кадров в секунду. Во многом из-за достаточно высокой скорости рендеринга и происходят «непрогрузы» или подлагивания текстового и медиа-контента, поскольку механизм загрузки при скроллинге попросту не успевает за такой скоростью.
Теперь перейдем непосредственно к тому системному новшеству, которое появилось в iOS 10. Оно заключается в том, что нужный вам контент прогружается не прямо во время того, как появится на экране, а за несколько миллисекунд до этого. Но многое зависит еще и от скорости пролистывания вами информации. При медленном пролистывании контент, соответственно, и подгружается медленнее, выдавая меньшую степень нагрузки на систему. По словам представителей программного отдела компании Apple, iOS 10 привнесла в работу необычайную плавность в работе не только простых, но и сложных энергозатратных приложений с большим объемом контента.
При этом, стоит отметить, что такая возможность является предустановленной в 10-й версии «яблочной» ОС, ее не нужно где-то отдельно активировать или включать. Однако если кому-то все же не понравится увеличенная плавность взаимодействия с приложениями, от этой возможности без особого труда можно избавиться, удалив одну строчку в программном коде операционной системы.