Android Archistruktura: warstwy, framework, komponent
โก Inteligentne podsumowanie
Android ArchiStruktura to warstwowy stos oprogramowania, ktรณry rozdziela zagadnienia na cztery gลรณwne poziomy: warstwฤ aplikacji, strukturฤ aplikacji, Android ลrodowisko wykonawcze z bibliotekami rdzeniowymi i jฤ drem Linuxa. Kaลผda warstwa rozwiฤ zuje odrฤbne problemy i moลผe byฤ aktualizowana niezaleลผnie.

Android pierwsze wydanie systemu operacyjnego miaลo miejsce w 2008 roku. Juลผ na poczฤ tku zespรณล stojฤ cy za systemem operacyjnym budowaล go na barkach gigantรณw. Oprรณcz interfejsu uลผytkownika, ktรณry Android OS wystฤpuje na poziomie powierzchni, skลada siฤ z wielu warstw. Warstwy te obejmujฤ niestandardowy kod i technologie open source, ktรณre sฤ stale rozwijane od dziesiฤcioleci.
Android Zostaล opracowany dziฤki ogromnej wspรณลpracy i inwestycjom wielu firm. Gลรณwnฤ firmฤ stojฤ cฤ za rozwojem Androida jest GoogleDo innych firm zaliczajฤ siฤ producenci urzฤ dzeล, tacy jak Samsung i LG, producenci procesorรณw, tacy jak Intel i ARM, ลผeby wymieniฤ tylko kilka.
Gdy rozmawiamy o sprawiedliwym dostฤpie do Android architektura, mamy na myลli to, jak Android system zostaล zaprojektowany, podzielony na warstwy i zbudowany tak, aby dziaลaล jako system. Zbudowanie tak zลoลผonego systemu wymaga starannej strukturyzacji, aby zapewniฤ, ลผe wszystkie komponenty bฤdฤ dziaลaฤ spรณjnie. Jego architektura zapewnia, ลผe โโwiele komponentรณw bฤdzie dziaลaฤ jako caลoลฤ bez awarii.
Warstwy
Poniลผej przedstawiono warstwy, ktรณre skลadajฤ siฤ na Android architektura oznaczona na schemacie:
- Zastosowanie
- Ramy aplikacji
- Android Biblioteki wykonawcze i podstawowe
- Linux Kernel
Developing System operacyjny dla urzฤ dzeล mobilnych wiฤ ลผe siฤ z szeregiem wyzwaล. Zastosowanie tej wielowarstwowej architektury gwarantuje rozbicie i rozwiฤ zanie rรณลผnych problemรณw na rรณลผnych poziomach.
Architektura warstwowa pomaga oddzieliฤ obawy i zapewnia, ลผe โโprogramiลci oprogramowania na Androida nie muszฤ radziฤ sobie z problemami niskiego poziomu na kaลผdym kroku. Zamiast tego mogฤ skupiฤ siฤ na dostarczaniu wartoลci biznesowej zwiฤ zanej z warstwฤ , nad ktรณrฤ pracujฤ .
Programiลci pracujฤ nad tym, aby aplikacje nie musiaลy martwiฤ siฤ o implementacjฤ struktury aplikacji. Ta praca pozostaje twรณrcom systemu pracujฤ cym nad frameworkiem aplikacji.
Deweloperzy Application Framework pracujฤ nad doลwiadczeniem programisty i nie muszฤ siฤ martwiฤ o sterowniki niskiego poziomu. Inลผynierowie systemรณw niskiego poziomu mogฤ skupiฤ siฤ caลkowicie na komponentach niskiego poziomu, takich jak sterowniki Bluetooth lub audio i tym podobne.
AndroidWarstwowa struktura umoลผliwia stosowanie aktualizacji z poprawkami bลฤdรณw lub ulepszeniami osobno dla kaลผdej warstwy. Dziฤki temu zmiany miฤdzy warstwami nie kolidujฤ ze sobฤ . Dziฤki temu osoby pracujฤ ce na rรณลผnych poziomach systemu operacyjnego mogฤ wzajemnie utrudniaฤ sobie pracฤ podczas tworzenia nowych aktualizacji i wydaล.
Android Zastosowanie

Jest to warstwa, z ktรณrฤ uลผytkownicy koลcowi wchodzฤ w interakcjฤ. To na tej warstwie twรณrcy aplikacji publikujฤ swoje aplikacje do uruchomienia.
Android, domyลlnie, zawiera zestaw aplikacji, ktรณre umoลผliwiajฤ od samego poczฤ tku korzystanie z urzฤ dzeล z systemem Android.
- strona gลรณwna: Strona gลรณwna wลฤ czona Android skลada siฤ z ikon uruchamiania czฤsto uลผywanych aplikacji, do ktรณrych uลผytkownik koลcowy moลผe chcieฤ mieฤ szybki dostฤp. Moลผesz uruchomiฤ aplikacje, klikajฤ c elementy uruchamiajฤ ce te aplikacje. Na samej gรณrze ekranu znajdujฤ siฤ widลผety pokazujฤ ce sieฤ, poziom naลadowania baterii, datฤ i godzinฤ.
- ลฤ cznoลฤ: Androiddomyลlnie umoลผliwia przechowywanie i pobieranie kontaktรณw. Informacje kontaktowe sฤ udostฤpniane innym aplikacjom w celu zwiฤkszenia funkcjonalnoลci.
- Wiadomoลci: Android zapewnia moลผliwoลฤ wysyลania i odbierania wiadomoลci SMS.
- E-mail: Android jest wyposaลผony w natywne wsparcie dla usลug poczty e-mail. Konfigurowanie Android urzฤ dzenie wymaga Gmail Konto. Konfiguracja Gmail aktywuje inne zaleลผne od poczty e-mail komponenty Android urzฤ dzeล. Niektรณre funkcje zaleลผne od poczty e-mail obejmujฤ mechanizmy bezpieczeลstwa i odzyskiwania. Innฤ funkcjฤ zaleลผnฤ od poczty e-mail jest dostฤp do Play Store, rynku Android aplikacji.
- Przeglฤ darka: Android jest dostarczany z domyลlnฤ przeglฤ darkฤ .
- Szuflada powiadomieล: Szwajcariaping Naciลniฤcie przycisku na dole ekranu odsลania szufladkฤ powiadomieล. Zawiera ona zdarzenia aplikacji, o ktรณrych uลผytkownik powinien wiedzieฤ. Nad powiadomieniem znajduje siฤ zestaw skrรณtรณw do czฤsto uลผywanych ustawieล urzฤ dzenia, ktรณre uลผytkownicy mogฤ przeลฤ czaฤ. Ustawienia te obejmujฤ wลฤ czanie i wyลฤ czanie rรณลผnych komponentรณw sprzฤtowych, takich jak Bluetooth i Wi-Fi. Dลugie naciลniฤcie tych zdarzeล umoลผliwia przejลcie do strony konfiguracji.
Ta warstwa jest rรณwnieลผ nazywana warstwฤ uลผytkownika, w przeciwieลstwie do warstw poniลผej, ktรณre sฤ gลรณwnie dostosowane do tworzenia aplikacji. Na tej warstwie programiลci aplikacji tworzฤ i dostosowujฤ interfejsy swoich aplikacji. Warstwy poniลผej warstwy aplikacji nie sฤ dostosowywane przez programistรณw aplikacji. Sฤ one uwaลผane za czฤลฤ warstwy systemowej. Warstwy te sฤ dostosowywane przez producentรณw urzฤ dzeล. Google zespoลy Androida lub osoby trzecie, ktรณre chcฤ korzystaฤ z Android kod ลบrรณdลowy swojego produktu lub badaล.
Ramy aplikacji
Android System operacyjny udostฤpnia podstawowe biblioteki i funkcje oprogramowania Android urzฤ dzenie, ktรณre korzysta z Java API. Jest to tzw Android struktura. Ramy udostฤpniajฤ bezpieczne i jednolite ลrodki do wykorzystania Android zasoby urzฤ dzenia.

1) Menedลผer aktywnoลci
Aplikacje korzystajฤ z Android komponent dziaลania sลuลผฤ cy do prezentowania punktu wejลcia do aplikacji. Android Dziaลania to komponenty zawierajฤ ce interfejs uลผytkownika, z ktรณrym uลผytkownicy aplikacji wchodzฤ w interakcjฤ. Gdy uลผytkownicy koลcowi wchodzฤ w interakcjฤ z Android urzฤ dzenia, uruchamiajฤ siฤ, zatrzymujฤ i przeskakujฤ w przรณd i w tyล w wielu aplikacjach. Kaลผde zdarzenie nawigacyjne powoduje aktywacjฤ i dezaktywacjฤ wielu dziaลaล w odpowiednich aplikacjach.
Android ActivityManager odpowiada za przewidywalne i spรณjne zachowanie podczas przejลฤ aplikacji. Menedลผer aktywnoลci zapewnia twรณrcom aplikacji moลผliwoลฤ reakcji ich aplikacji, gdy Android System operacyjny wykonuje globalne dziaลania. Aplikacje mogฤ nasลuchiwaฤ zdarzeล, takich jak obrรณt urzฤ dzenia, zniszczenie aplikacji z powodu niedoboru pamiฤci, przesuniฤcie aplikacji poza fokus itd.
Przykลadami reakcji aplikacji na te przejลcia sฤ m.in. wstrzymanie aktywnoลci w grze, zatrzymanieping muzyka odtwarzana w trakcie rozmowy telefonicznej.
2) Menedลผer okien
Android moลผe okreลliฤ informacje na ekranie, aby ustaliฤ wymagania potrzebne do utworzenia okien dla aplikacji. Windows to miejsca, w ktรณrych moลผemy wyลwietliฤ interfejs uลผytkownika naszej aplikacji. Android uลผywa menedลผera okien do dostarczania tych informacji aplikacjom i systemowi podczas ich dziaลania, aby mogลy dostosowaฤ siฤ do trybu, w ktรณrym dziaลa urzฤ dzenie.
Menedลผer okien pomaga w dostarczaniu dostosowanej aplikacji. Aplikacje mogฤ wypeลniaฤ caลy ekran, zapewniajฤ c wciฤ gajฤ ce wraลผenia, lub udostฤpniaฤ ekran innym aplikacjom. Android umoลผliwia to poprzez umoลผliwienie kaลผdej aplikacji korzystania z wielu okien.
3) Menedลผer lokalizacji
Wiฤkszoลฤ Android urzฤ dzenia sฤ wyposaลผone w urzฤ dzenia GPS, ktรณre mogฤ uzyskaฤ lokalizacjฤ uลผytkownika na podstawie informacji satelitarnych, ktรณre mogฤ siฤgaฤ aลผ do dokลadnoลci licznika. Programiลci mogฤ pytaฤ uลผytkownikรณw o pozwolenie na lokalizacjฤ, dostarczaฤ lokalizacjฤ i ลwiadome doลwiadczenia.
Android moลผe rรณwnieลผ wykorzystywaฤ technologie bezprzewodowe w celu dalszego wzbogacenia szczegรณลรณw lokalizacji i zwiฤkszenia zasiฤgu, gdy urzฤ dzenia znajdujฤ siฤ w zamkniฤtych przestrzeniach. Android udostฤpnia te funkcje w ramach Menedลผera lokalizacji.
4) Menedลผer ds. telefonii
Wiฤkszoลฤ Android Urzฤ dzenia peลniฤ gลรณwnฤ rolฤ w telefonii. Android wykorzystuje TelephoneManager do ลฤ czenia komponentรณw sprzฤtu i oprogramowania w celu zapewnienia funkcji telefonicznych. Komponenty sprzฤtowe obejmujฤ czฤลci zewnฤtrzne, takie jak karta SIM, oraz czฤลci urzฤ dzenia, takie jak mikrofon, kamera i gลoลniki. Skลadniki oprogramowania obejmujฤ komponenty natywne, takie jak klawiatura wybierania numeru, ksiฤ ลผka telefoniczna i profile dzwonkรณw. Korzystajฤ c z TelephoneManagera, programista moลผe rozszerzyฤ lub udoskonaliฤ domyลlnฤ funkcjonalnoลฤ poลฤ czeล.
5) Menedลผer zasobรณw
Aplikacje na Androida zazwyczaj zawierajฤ wiฤcej niลผ tylko kod. Zawierajฤ rรณwnieลผ inne zasoby, takie jak ikony, pliki audio i wideo, animacje, pliki tekstowe i tym podobne. Android pomaga w zapewnieniu wydajnego i responsywnego dostฤpu do tych zasobรณw. Zapewnia rรณwnieลผ dostarczenie odpowiednich zasobรณw uลผytkownikom koลcowym. Na przykลad podczas wypeลniania pรณl w aplikacjach uลผywane sฤ pliki tekstowe w odpowiednim jฤzyku.
6) Zobacz system
Android zapewnia takลผe moลผliwoลฤ ลatwego tworzenia wspรณlnych komponentรณw wizualnych potrzebnych do interakcji z aplikacjฤ . Komponenty te obejmujฤ widลผety, takie jak przyciski, uchwyty obrazรณw, takie jak ImageView, komponenty do wyลwietlania listy elementรณw, takie jak ListView i wiele innych. Komponenty sฤ gotowe, ale moลผna je rรณwnieลผ dostosowaฤ do potrzeb twรณrcรณw aplikacji i marki.
7) Menedลผer powiadomieล
Za informowanie odpowiada Menedลผer Powiadomieล Android uลผytkownicy zdarzeล aplikacji. Czyni to poprzez wysyลanie uลผytkownikom sygnaลรณw wizualnych, dลบwiฤkowych lub wibracyjnych lub ich kombinacji w przypadku wystฤ pienia zdarzenia. Zdarzenia te majฤ wyzwalacze zewnฤtrzne i wewnฤtrzne. Przykลadami wewnฤtrznych wyzwalaczy sฤ zdarzenia dotyczฤ ce stanu niskiego poziomu naลadowania baterii, ktรณre powodujฤ wyลwietlenie powiadomienia o niskim poziomie naลadowania baterii. Innym przykลadem sฤ zdarzenia okreลlone przez uลผytkownika, takie jak alarm. Niektรณre przykลady zewnฤtrznych wyzwalaczy obejmujฤ nowe wiadomoลci lub wykrycie nowych sieci Wi-Fi.
Android zapewnia programistom i uลผytkownikom koลcowym moลผliwoลฤ dostrojenia systemu powiadomieล. Moลผe to pomรณc zagwarantowaฤ, ลผe bฤdฤ mogli wysyลaฤ i odbieraฤ powiadomienia w sposรณb, ktรณry najlepiej odpowiada im i ich obecnemu ลrodowisku.
8) Menedลผer pakietรณw
Android zapewnia takลผe dostฤp do informacji o zainstalowanych aplikacjach. Android utrzymuje track informacji o aplikacji, takich jak zdarzenia instalacji i deinstalacji, uprawnienia ลผฤ dane przez aplikacjฤ oraz wykorzystanie zasobรณw, np. zuลผycie pamiฤci.
Informacje te mogฤ umoลผliwiฤ programistom aktywowanie lub dezaktywowanie funkcji w ich aplikacjach w zaleลผnoลci od nowych funkcji prezentowanych przez aplikacje towarzyszฤ ce.
9) Dostawca treลci
Android posiada ustandaryzowany sposรณb udostฤpniania danych pomiฤdzy aplikacjami na urzฤ dzeniu korzystajฤ cym z dostawcy treลci. Programiลci mogฤ uลผywaฤ dostawcy treลci do udostฤpniania danych innym aplikacjom. Mogฤ na przykลad umoลผliwiฤ przeszukiwanie danych aplikacji w zewnฤtrznych aplikacjach wyszukujฤ cych. Android sam udostฤpnia dane, takie jak dane kalendarza, dane kontaktowe i tym podobne, korzystajฤ c z tego samego systemu.
Android Biblioteki wykonawcze i podstawowe/natywne

1) Android Czas pracy
Android obecnie uลผywa Android Runtime (ART) do wykonywania kodu aplikacji. ART jest poprzedzone przez Dalvik Runtime, ktรณry kompiluje kod programisty do plikรณw wykonywalnych Dalvik (pliki Dex). Te ลrodowiska wykonawcze sฤ zoptymalizowane dla platformy Android, biorฤ c pod uwagฤ ograniczenia procesora i pamiฤci na urzฤ dzeniach mobilnych.
ลrodowisko wykonawcze tลumaczy kod napisany przez programistรณw na kod maszynowy, ktรณry wykonuje obliczenia i wykorzystuje komponenty platformy Android w celu dostarczenia funkcjonalnoลci. Android hostuje wiele aplikacji i komponentรณw systemu, z ktรณrych kaลผdy dziaลa w swoich procesach.
Biblioteki podstawowe
W tej czฤลci omรณwimy niektรณre podstawowe biblioteki obecne w Android system operacyjny.
2) MediaFramework
Android obsลuguje takลผe natywnie popularne kodeki multimedialne, dziฤki czemu aplikacje utworzone na Android platforma umoลผliwiajฤ ca korzystanie/odtwarzanie komponentรณw multimedialnych od razu po wyjฤciu z pudeลka.
3) SQLite
Android ma rรณwnieลผ SQLite baza danych ktรณra umoลผliwia aplikacjom korzystanie z bardzo szybkiej, natywnej funkcjonalnoลci bazy danych bez koniecznoลci korzystania z bibliotek stron trzecich.
4) Typ dowolny
Android posiada preinstalowany szybki i elastyczny silnik czcionek. Dziฤki temu twรณrcy aplikacji mogฤ stylizowaฤ komponenty swojej aplikacji i zapewniaฤ bogate ลrodowisko, ktรณre odzwierciedla intencje programisty.
5) OpenGL
Android jest rรณwnieลผ wyposaลผony w system graficzny OpenGL. Pomaga w tym biblioteka C Android wykorzystywaฤ komponenty sprzฤtowe do renderowania grafiki 2D i 3D w czasie rzeczywistym.
6) SSL
Android posiada rรณwnieลผ wbudowanฤ warstwฤ zabezpieczeล, ktรณra umoลผliwia bezpiecznฤ komunikacjฤ pomiฤdzy aplikacjami Android oraz inne urzฤ dzenia takie jak serwery, inne urzฤ dzenia mobilne, routery.
7) SGL
Android zawiera bibliotekฤ graficznฤ zaimplementowanฤ w kodzie niskiego poziomu, ktรณra efektywnie renderuje grafikฤ dla platformy Android. Dziaลa z komponentami wyลผszego poziomu Android Android potok graficzny.
8) Lib
Trzon Android zawiera biblioteki napisane w C i C++, ktรณre sฤ jฤzykami niskiego poziomu przeznaczonymi do uลผytku wbudowanego i pomagajฤ cymi w maksymalizacji wydajnoลci. Libc zapewnia ลrodki do udostฤpniania tym bibliotekom niskopoziomowych funkcjonalnoลci systemowych, takich jak wฤ tki, gniazda, IO i tym podobne.
9) Pakiet internetowy
Jest to silnik przeglฤ darki typu open source, uลผywany jako podstawa do tworzenia przeglฤ darek. Domyลlny Android przeglฤ darka przed wersjฤ 4.4 KitKat uลผywa jej do renderowania stron internetowych. Umoลผliwia twรณrcom aplikacji renderowanie komponentรณw sieciowych w systemie widokรณw przy uลผyciu WebView. Dziฤki temu aplikacje mogฤ integrowaฤ komponenty sieciowe ze swojฤ funkcjonalnoลciฤ .
10) Menedลผer powierzchni
Menedลผer powierzchni jest odpowiedzialny za zapewnienie pลynnego renderowania ekranรณw aplikacji. Robi to poprzez komponowanie grafiki 2D i 3D do renderowania. Umoลผliwia to rรณwnieลผ poprzez buforowanie poza ekranem.
Linux Kernel
Gลรณwny komponent Android System to jฤ dro Linuxa. Jest to podstawowy element, ktรณry umoลผliwia wszystkie Androidfunkcjonalnoลฤ.
Jฤ dro Linuxa to przetestowany w boju kawaลek oprogramowania, ktรณry byล uลผywany w programach deweloperskichping system operacyjny dla urzฤ dzeล szerokiej gamy, od superkomputerรณw po maลe gadลผety. Ma ograniczone moลผliwoลci przetwarzania, takie jak maลe gadลผety sieciowe dla Internetu rzeczy (IoT).
Jฤ dro Linuksa moลผna dostosowaฤ, aby speลniaลo specyfikacje urzฤ dzenia, aby umoลผliwiฤ producentom jego wykonanie Android urzฤ dzenia o rรณลผnych moลผliwoลciach, aby dopasowaฤ je do doลwiadczenia uลผytkownika.
W odniesieniu do AndroidKernel odpowiada za wiele podstawowych funkcjonalnoลci, w tym miฤdzy innymi:
- Sterowniki urzฤ dzeล
- Zarzฤ dzanie pamiฤciฤ
- Zarzฤ dzanie procesem
Rozwiลmy niektรณre funkcjonalnoลci:
Sterowniki urzฤ dzeล
Jฤ dro Linuxa zawiera sterowniki potrzebne do umoลผliwienia systemowi operacyjnemu pracy z rรณลผnymi komponentami sprzฤtowymi. Sterowniki te zapewniajฤ standardowy interfejs, z ktรณrym mogฤ wspรณลpracowaฤ komponenty sprzฤtowe pochodzฤ ce od rรณลผnych producentรณw.
Umoลผliwia to producentom urzฤ dzeล pozyskiwanie rรณลผnych komponentรณw, takich jak komponenty Bluetooth, komponenty Wi-Fi, komponenty aparatu. Pod warunkiem, ลผe producenci odpowiadajฤ Android standardowych specyfikacji, integracja przebiega bezproblemowo.
1) Sterownik USB
Linux zapewnia rรณwnieลผ Android ze ลrodkami do ลฤ czenia siฤ z urzฤ dzeniami USB. Nowoczesne urzฤ dzenia sฤ wyposaลผone w rรณลผne porty USB, w tym USB 2.0 i nowe wersje USB, w tym USB-C. Sterowniki te umoลผliwiajฤ wykorzystanie portu USB do ลadowania, przesyลania bieลผฤ cych danych, takich jak logi z Android urzฤ dzeล i interakcji z systemem Android System plikรณw.
2) Sterownik Bluetooth
Jฤ dro systemu Linux zapewnia obsลugฤ komunikacji z komponentami sprzฤtowymi Bluetooth. Umoลผliwia odczyt i zapis danych otrzymanych z obsลugiwanych czฤstotliwoลci radiowych Bluetooth. Zapewnia rรณwnieลผ zestaw udogodnieล dla Android skonfigurowaฤ Bluetooth.
3) Sterownik Wi-Fi
Jฤ dro systemu Linux zapewnia sterowniki umoลผliwiajฤ ce integracjฤ komponentรณw sprzฤtowych sieci Wi-Fi. Umoลผliwiajฤ to komponenty WiFi wbudowane w urzฤ dzenia mobilne Android urzฤ dzenia do ลฤ czenia siฤ z sieciami Wi-Fi. Sterownik umoลผliwia komponentom Wi-Fi nadawanie sieci Wi-Fi i tworzenie hotspotรณw.
4) Sterownik ekranu
Android umoลผliwia interfejs z komponentami wyลwietlacza. W przypadku wiฤkszoลci urzฤ dzeล komponentem interfejsu jest ekran dotykowy LCD. Umoลผliwia on obsลugฤ konfiguracji i rysowania pikseli.
5) Sterownik audio
Android urzฤ dzenia zwykle sฤ dostarczane z komponentami sprzฤtowymi do wejลcia i wyjลcia audio. Sterowniki audio w jฤ drze umoลผliwiajฤ Android system do wykorzystania dลบwiฤku odbieranego z tych komponentรณw, a takลผe do generowania sygnaลu wyjลciowego audio.
6) Menedลผer zasilania
Wiฤkszoลฤ Android urzฤ dzenia sฤ uลผywane po odลฤ czeniu od gniazdek elektrycznych. Dlatego teลผ przez wiฤkszฤ czฤลฤ czasu uลผytkowania sฤ one zaleลผne od baterii. Linux Kernel jest wyposaลผony w system zarzฤ dzania energiฤ , ktรณry moลผna konfigurowaฤ tak, aby odpowiadaล potrzebom korzystajฤ cych z niego urzฤ dzeล.
Android System operacyjny korzysta z menedลผera zasilania, aby wลฤ czyฤ inne komponenty urzฤ dzenia do obsลugi zasilania. Czyni to poprzez nadawanie rรณลผnych stanรณw zwiฤ zanych z mocฤ . Te stany to Gotowoลฤ, Uลpienie i Niski poziom baterii. NA Androidmenedลผer zasilania zostaล skonfigurowany tak, aby domyลlnie przechodziล w tryb uลpienia, aby zapewniฤ maksymalnฤ ลผywotnoลฤ baterii.
Power Manager umoลผliwia aplikacjom reagowanie na rรณลผne tryby zasilania. Aplikacje mogฤ rรณwnieลผ zmieniaฤ swoje zachowanie, aby dopasowaฤ je do aktualnego stanu zasilania urzฤ dzenia.
Aplikacja moลผe rรณwnieลผ zaลผฤ daฤ zmiany domyลlnych zasad zasilania. Aplikacje mogฤ osiฤ gnฤ ฤ poลผฤ danฤ funkcjonalnoลฤ, takฤ jakping Aktywne komponenty sprzฤtowe. Przykลadem jest keeping Ekran jest aktywny podczas czytania ksiฤ ลผki, aby zapewniฤ uลผytkownikowi nieprzerwany dostฤp. Innym przykลadem jest funkcja โkeeโping komponenty audio wลฤ czone podczas sลuchania muzyki w tle.
7) Pamiฤฤ Flash
Wiฤkszoลฤ Android Urzฤ dzenia korzystajฤ z pamiฤci flash jako ลrodka przechowywania. Pamiฤฤ Flash jest szybka i zajmuje mniej miejsca, dziฤki czemu idealnie nadaje siฤ do maลych urzฤ dzeล. Jฤ dro Linuksa zapewnia ลrodki do Android urzฤ dzenia do odczytu i zapisu w pamiฤci flash. Umoลผliwia partycjonowanie pamiฤci w taki sposรณb, aby system operacyjny i inne aplikacje mogลy ลatwo i efektywnie dzieliฤ zasoby pamiฤci.
8) Spoiwo
Android hostuje wiele aplikacji i komponentรณw systemu, z ktรณrych kaลผdy dziaลa w swoich procesach. W wiฤkszoลci przypadkรณw procesy te powinny byฤ odizolowane od siebie, aby zapobiec zakลรณceniom i uszkodzeniu danych. Sฤ jednak przypadki, w ktรณrych chcielibyลmy przekazaฤ dane z jednego procesu do drugiego.
Jฤ dro Linuksa umoลผliwia udostฤpnianie danych poprzez udostฤpnienie sterownikรณw segregatorรณw. Sterowniki Bindera umoลผliwiajฤ komunikacjฤ miฤdzy procesami, IPC. Korzystajฤ c z procesรณw IPC, moลผna odkryฤ inne procesy i dzieliฤ siฤ informacjami.
Zarzฤ dzanie pamiฤciฤ
Kolejnym obowiฤ zkiem jฤ dra Linuksa jest zarzฤ dzanie pamiฤciฤ . Gdy dziaลajฤ rรณลผne aplikacje, jฤ dro dba o to, aby uลผywana przez nie pamiฤฤ nie kolidowaลa i nie nadpisywaลa siฤ nawzajem.
Pomaga takลผe zapewniฤ, ลผe wszystkie uruchomione aplikacje otrzymajฤ odpowiedniฤ iloลฤ pamiฤci do dziaลania, dziฤki czemu ลผadna pojedyncza aplikacja nie zajmie zbyt duลผo miejsca.
Zarzฤ dzanie procesem
Kaลผda aplikacja w Android Dziaลa w procesie. Jฤ dro jest rรณwnieลผ odpowiedzialne za zarzฤ dzanie procesami. Oznacza to, ลผe odpowiada za tworzenie, wstrzymywanie i zatrzymywanie procesรณw.ping, wyลฤ czanie lub koลczenie procesรณw.
Jฤ dro umoลผliwia rรณลผne funkcjonalnoลci, takie jak jednoczesne uruchamianie wielu procesรณw, komunikacja miฤdzy procesami, uruchamianie procesรณw w tle i tak dalej.
Poniewaลผ kaลผdy proces wymaga wลasnej przestrzeni pamiฤci do prawidลowego dziaลania, jฤ dro zapewnia, ลผe โโprzestrzenie pamiฤci przydzielone dla kaลผdego procesu sฤ chronione przed innymi procesami. Zapewnia rรณwnieลผ, ลผe zasoby takie jak RAM zasoby przydzielone procesom sฤ zwalniane po zamkniฤciu procesรณw.
Jฤ dro Linuksa jest rรณwnieลผ odpowiedzialne za dystrybucjฤ pracy pomiฤdzy procesorami obecnymi w urzฤ dzeniu. Umoลผliwia to maksymalizacjฤ wydajnoลci urzฤ dzeล z wieloma rdzeniami, poniewaลผ rรณลผne aplikacje bฤdฤ uruchamiaฤ procesy na innym rdzeniu.
Jฤ dro Linuksa wykonuje pod maskฤ wiฤcej zadaล, w tym egzekwowanie zabezpieczeล.

