poniedziałek, 19 marca 2012

Dlaczego aplikacje w systemie iOS ładują się tak szybko?

Dlaczego aplikacje w systemie iOS ładują się tak szybko?
Tekst powstał na podstawie pewnego komentarza. Jak się okazało informacja jest prawdziwa.
Do przesłania tej wiadomości niechcący zainspirował mnie mój znajomy, zagorzały applefan.
Raczył on śmiać się, że na jego Cudzie Techniki aplikacje uruchamiają się znacznie szybciej niż na moim skrzypiącym Szajsungu. Nie wiedział on i zapewne duża część fanów apple również, że każda apka na iOS ma wgraną pewną bitmapę, która pokazywana jest na starcie zanim właściwy program się "doczyta". A co przedstawia owa bitmapka spytacie? Ano przedstawia ona ekran startowy aplikacji zaraz po uruchomieniu. Nie mam zamiaru śmiać się z tego rozwiązania, gdyż jest ono całkiem rozsądne i daje złudzenie szybkiegi uruchamiania. Śmieję się z tych, którzy myślą, że to ich Cud Techiki jest taki wypasiony, że aplikacja do pierdzenia uruchamia się na nim w 0.04s (a w rzeczywistości jest to np 2.1s).
Zajrzyjmy na stronę Apple, gdzie możemy znaleźć dokumentację iOS
A tam na stronie 94.
Gdy system uruchamia aplikację, to chwilowo wyświetla statyczny obraz uruchamiania na ekranie. Twoja aplikacja wyświetla zazwyczaj prerenderowaną wersje domyślnego interfejsu użytkownika.
Celem tego obrazka jest danie użytkownikowi informacji zwrotnej, ze aplikacja została uruchomiona, a to daje aplikacji czas na wystartowanie ( inicjacje) i przygotowanie początkowego zbioru obrazów do wyświetlenia.
Gdy aplikacja jest gotowa do działania, system usuwa obrazek i wyświetla właściwe okno aplikacji (i obrazy).
Każda aplikacja musi posiadać przynajmniej jeden obraz włączania.
When the system launches an app, it temporarily displays a static launch image on the screen. Your app provides this image, with the image contents usually containing a prerendered version of your apps default user
interface. The purpose of this image is to give the user immediate feedback that the app launched, but it also
gives your app time to initialize itself and prepare its initial set of views for display. When your app is ready to
run, the system removes the image and displays your apps windows and views.
Every app must provide at least one launch image.
Ponieważ iOS oraz MacOSX posiadają ten sam framework - Core Animation można śmiało zasugerować, że podobnie jest i w przypadku stacjonarnej wersji systemu. Pomysł jest niezły nawet jak na Apple.

Brak komentarzy:

Prześlij komentarz