Nowa wersja systemu operacyjnego Apple, iOS 18, wprowadza modyfikacje w funkcjonowaniu “Aktywności na żywo”. Co się zmieniło? Już wyjaśniamy!
Programiści, w tym deweloper o pseudonimie Nico, zwracają uwagę na zmiany w tempie odświeżania danych w “Aktywnościach na żywo”. Wcześniejsze wersje iOS pozwalały na aktualizację informacji nawet co sekundę. Teraz, po instalacji iOS 18, czas między kolejnymi odświeżeniami wydłużył się do 5-15 sekund.
Ta zmiana wpływa na działanie wielu aplikacji, zwłaszcza tych prezentujących dane w czasie zbliżonym do rzeczywistego. Przykładem jest aplikacja Nico do monitorowania prędkości podczas jazdy rowerem. Obecnie wyświetlana prędkość może być opóźniona o około 10 sekund w stosunku do faktycznego stanu, co zmniejsza przydatność narzędzia w niektórych sytuacjach.
Apple wyjaśnia, że wprowadzone zmiany mają konkretne uzasadnienie techniczne. Każda aktualizacja zadań czasu rzeczywistego wymaga zapisu danych w pamięci urządzenia. Zbyt częste wykonywanie tej operacji mogłoby prowadzić do nadmiernego obciążenia pamięci NAND lub przestrzeni dyskowej. Aspekt ten nabiera dodatkowego znaczenia w iOS 18, gdyż “Aktywności na żywo” synchronizują się również z Apple Watch działającym pod kontrolą watchOS 11.
Przedstawiciele firmy z Cupertino podkreślają, że funkcja “Aktywności na żywo” nie była projektowana z myślą o zapewnieniu doświadczeń dokładnie w czasie rzeczywistym. Możliwość tak częstych aktualizacji, jaka istniała wcześniej, została określona jako nietypowe zachowanie systemu. Co ciekawe, przykład zastosowania podany przez Nico – wykorzystanie “Aktywności na żywo” do monitorowania parametrów fitness – był wcześniej prezentowany przez Apple jako jeden z modelowych przypadków użycia tej funkcji na stronie dla deweloperów.
Warto zaznaczyć, że nowe ograniczenia nie wpłyną jednakowo na wszystkie implementacje “Aktywności na żywo”. Funkcje takie jak odliczanie szacowanego czasu przyjazdu w aplikacjach transportowych, np. Uber czy Lyft, które opierają się na jednorazowym ustawieniu licznika czasu, nadal będą działać bez zakłóceń. Wynika to z faktu, że po wstępnym określeniu szacowanego czasu, timer aktualizuje się samodzielnie, bez potrzeby dodatkowych interwencji ze strony aplikacji.
Wprowadzone modyfikacje wywołały różne reakcje wśród programistów. Ograniczenie częstotliwości aktualizacji może przyczynić się do poprawy wydajności energetycznej urządzeń i zmniejszenia zużycia pamięci. Jednak dla niektórych aplikacji, szczególnie tych bazujących na precyzyjnych pomiarach w czasie rzeczywistym, nowe ograniczenia stanowią wyzwanie.
Programiści muszą dostosować swoje aplikacje do nowych warunków. Może to oznaczać zmianę niektórych funkcji lub opracowanie innych metod prezentacji dynamicznych danych. W niektórych przypadkach konieczne może być poinformowanie użytkowników o potencjalnych opóźnieniach w aktualizacji wyświetlanych informacji.
Co sadzicie o tych zmianach? Dajcie koniecznie znać w kometarzach.