i cykl życia aplikacji związany jest również ze specyfiką działania, wymaganiami i ograniczeniami urządzeń przenośnych, które znacząco różnią się tymi elementami od standardowych komputerów stacjonarnych i laptopów.
Urządzenia mobilne stworzone są do obsługi określonych urządzeń peryferyjnych i do spełniania określonych zadań, takich jak robienie zdjęć, nawiązywanie połączeń telefonicznych i internetowych. W związku z tym system Android musiał zostać przygotowany do rozwiązywania innych problemów i zależności natury technicznej w stosunku do standardowych komputerów. Twórcy systemu Android, jak i programiści tworzący aplikacje na tę platformę muszą radzić sobie z następującymi aspektami:
• Optymalizacją zużycia energii (wiążącą się z krótkim czasem działania urządzenia od czasu naładowania baterii do całkowitego jej rozładowania)
• Ograniczonością zasobów i niską wydajności urządzeń mobilnych, w tym m. in.:
— Małą ilość pamięci RAM (od 128 MB)
— Małą ilością miejsca na dysku systemowym (od 80 MB)
— Słabą wydajnością procesora (od 400 MHz)
— Słabą wydajnością procesorów graficznych
• Ustalaniem priorytetu funkcjonalności systemu (zarządzanie podstawowymi procesami jak tryb czuwania telefonu czy odbieranie wiadomości SMS)
Podczas programowania aplikacji na platformę Android programista nie ma do czynienia bezpośrednio z w/w problemami, ale aby tworzyć wydajne aplikacje musi mieć świadomość ich występowania. Problemy te rozwiązane są systemowo, tzn. poprzez elementy systemu, którymi można na różne sposoby sterować. Programista może optymalizować działanie swoich aplikacji. Możliwe jest to dzięki istnieniu kilku podstawowych składowych interfejsu programistycznego Android, którymi programista może się posługiwać. Każdy z tych elementów cechuje się własnym sposobem działania, możliwościami i ograniczeniami.
Każda aplikacja działająca na systemie Android jest osobnym procesemfl]. Jej podstawową składową jest tzw. aktywność (ang. activity), która jest rodzajem kontrolera połączonego z klasą zarządzającą widokiem[6]. System Android stworzony jest tak, że sam zarządza działającymi na nim procesami. Mechanizm zarządzania procesami polega na układaniu aktywności na stosie. Każda nowo uruchomiona aktywność odkładana jest jego szczycie. Na podstawie pozycji na stosie ustalana jest hierarchia ważności aktywności. Im aktywność jest niższej na stosie, tym jej priorytet podtrzymywania działania przez system jest niższy. Priorytety te wykorzystywane są w procesie odzyskiwania zasobów, co jest niczym innym jak rodzajem radzenia sobie systemu z ograniczonością zasobów. Gdy na urządzeniu zaczyna brakować
9