Androids verksamhet är komplex, men kan delas upp i flera viktiga lager och processer:
1. Linux -kärnan: Längst ner är Linux -kärnan, en modifierad version specifikt anpassad för mobila enheter. Denna kärna tillhandahåller kärnsystemtjänster som minneshantering, processhantering, enhetsdrivrutiner (för skärm, kamera, etc.) och nätverk. Det är grunden som allt annat bygger på.
2. Hårdvaruabstraktionslager (HAL): Detta lager sitter ovanför kärnan och fungerar som en mellanhand mellan kärnan och Android -runtime -miljön. Det tillhandahåller ett standardiserat gränssnitt för hårdvarukomponenter, vilket gör att Android kan interagera med olika hårdvarukonfigurationer utan att behöva skrivas om för varje enhet. Denna abstraktion möjliggör hårdvaruoberoende i de högre nivåerna i programvarustacken.
3. Android Runtime (Art): Det är här Android -appar körs. Konst (tidigare Dalvik) är en virtuell maskin som kör Android -appar skriven i Java eller Kotlin (sammanställt i Bytecode). Den hanterar minnesallokering, skräpsamling och exekvering av app -kod. Konst förbättrar prestandan jämfört med föregångaren, Dalvik, genom sammanställningen före tiden.
4. Bibliotek: En samling infödda bibliotek tillhandahåller systemtjänster till applikationerna och Android -ramverket. Dessa bibliotek tillhandahåller funktionaliteter som grafik (OpenGL), medieuppspelning, databashantering (SQLite) och nätverk.
5. Android -ramverk: Detta lager tillhandahåller en uppsättning API:er (applikationsprogrammeringsgränssnitt) som apputvecklare kan använda för att få åtkomst till systemtjänster och skapa sina applikationer. Detta inkluderar saker som användargränssnittskomponenter (knappar, textfält etc.), platstjänster och kameraåtkomst.
6. Applikationer: Detta är det översta lagret, där alla appar du använder ligger. Dessa appar är byggda med Android -ramverket och körs inom konsten. Detta inkluderar förinstallerade appar (som telefonuppringaren och meddelanden-appen) samt appar du laddar ner från Google Play Store.
Processflödet ser vanligtvis ut så här:
1. Användaren interagerar med en app (t.ex. tappar en ikon).
2. Android -systemet lanserar appen.
3. Appens kod körs inom konsten.
4. Appen använder Android -ramverket för att få åtkomst till systemtjänster (t.ex. för att visa information på skärmen eller komma åt kameran).
5. Ramverket interagerar med biblioteken och HAL för att kommunicera med hårdvaran.
6. Kärnan hanterar hårdvaruresurserna.
Nyckelkoncept för att förstå Androids operation:
* Processer: Varje app körs i sin egen process och ger isolering och säkerhet.
* trådar: Appar kan skapa flera trådar för att utföra uppgifter samtidigt.
* avsikt: En mekanism för kommunikation mellan olika appar och komponenter.
* tjänster: Bakgrundsprocesser som kör oberoende av användargränssnittet.
* sändningsmottagare: Komponenter som svarar på systemomfattande händelser (t.ex. lågt batteri).
* Innehållsleverantörer: En mekanism för att dela data mellan appar.
Kort sagt, Androids operation är en noggrant orkestrerad dans mellan hårdvara, en Linux -kärna, en runtime -miljö, bibliotek och applikationer, som alla arbetar tillsammans för att ge en sömlös användarupplevelse. Den skiktade arkitekturen möjliggör flexibilitet, skalbarhet och underhållbarhet.