1. Il kernel Linux: In fondo si trova il kernel Linux, una versione modificata appositamente adattata per i dispositivi mobili. Questo kernel fornisce servizi di sistema di base come gestione della memoria, gestione dei processi, driver di dispositivi (per schermo, fotocamera, ecc.) E networking. È la base su cui tutto il resto è costruito.
2. Layer di astrazione hardware (HAL): Questo livello si trova sopra il kernel e funge da intermediario tra il kernel e l'ambiente di runtime Android. Fornisce un'interfaccia standardizzata per i componenti hardware, consentendo ad Android di interagire con diverse configurazioni hardware senza dover essere riscritto per ciascun dispositivo. Questa astrazione consente l'indipendenza hardware nei livelli più alti dello stack del software.
3. Android Runtime (art): È qui che eseguono le app Android. Art (precedentemente Dalvik) è una macchina virtuale che esegue le app Android scritte in Java o Kotlin (compilata in bytecode). Gestisce l'allocazione della memoria, la raccolta dei rifiuti e l'esecuzione del codice app. L'arte migliora le prestazioni rispetto al suo predecessore, Dalvik, attraverso la compilazione in anticipo dei tempi.
4. Biblioteche: Una raccolta di biblioteche native fornisce servizi di sistema alle applicazioni e al framework Android. Queste librerie forniscono funzionalità come Graphics (OpenGL), Riproduzione dei media, Gestione del database (SQLite) e networking.
5. Framework Android: Questo livello fornisce un set di API (interfacce di programmazione dell'applicazione) che gli sviluppatori di app possono utilizzare per accedere ai servizi di sistema e creare le loro applicazioni. Ciò include cose come i componenti dell'interfaccia utente (pulsanti, campi di testo, ecc.), Servizi di posizione e accesso alla fotocamera.
6. Applicazioni: Questo è il livello superiore, in cui risiedono tutte le app che usi. Queste app sono costruite utilizzando il framework Android e vengono eseguite all'interno dell'arte. Ciò include app preinstallate (come il dialer del telefono e l'app di messaggistica) e le app che scarichi dal Google Play Store.
Il flusso di processo in genere assomiglia a questo:
1. L'utente interagisce con un'app (ad esempio, tocca un'icona).
2. Il sistema Android lancia l'app.
3. Il codice dell'app esegue all'interno dell'arte.
4. L'app utilizza Android Framework per accedere ai servizi di sistema (ad es. Per visualizzare informazioni sullo schermo o accedere alla fotocamera).
5. Il framework interagisce con le librerie e l'AL HAL per comunicare con l'hardware.
6. Il kernel gestisce le risorse hardware.
Concetti chiave per comprendere il funzionamento di Android:
* Processi: Ogni app viene eseguita nel proprio processo, fornendo isolamento e sicurezza.
* thread: Le app possono creare più thread per eseguire le attività contemporaneamente.
* intenzioni: Un meccanismo per la comunicazione tra diverse app e componenti.
* Servizi: Processi di fondo che vengono eseguiti indipendentemente dall'interfaccia utente.
* Ricevitori di trasmissione: Componenti che rispondono agli eventi a livello di sistema (ad es. Battaglia bassa).
* Provider di contenuti: Un meccanismo per la condivisione dei dati tra le app.
In breve, l'operazione di Android è una danza attentamente orchestrata tra hardware, un kernel Linux, un ambiente di runtime, librerie e applicazioni, tutti lavorando insieme per offrire un'esperienza utente senza soluzione di continuità. L'architettura a strati consente flessibilità, scalabilità e manutenibilità.
sistemi © www.354353.com