Arsitektur Android
Arsitektur Android atau tumpukan perangkat lunak Android dibagi menjadi lima bagian:
- Kernel Linux
- Pustaka Native (middleware)
- Android Runtime
- Application Framework
- Aplikasi
Mari kita lihat arsitektur Android terlebih dahulu.
1) Kernel Linux
Kernel Linux adalah inti dari arsitektur Android yang berada di dasar arsitektur Android. Kernel Linux bertanggung jawab untuk driver perangkat, manajemen daya, manajemen memori, manajemen perangkat, dan akses sumber daya.
2) Pustaka Native
Di atas kernel Linux, terdapat pustaka native seperti WebKit, OpenGL, FreeType, SQLite, Media, pustaka runtime C (libc), dll.
- WebKit: Bertanggung jawab untuk dukungan browser.
- SQLite: Digunakan untuk basis data.
- FreeType: Digunakan untuk dukungan font.
- Media: Digunakan untuk memutar dan merekam format audio dan video.
3) Android Runtime
Dalam Android runtime, terdapat pustaka inti dan DVM (Dalvik Virtual Machine) yang bertanggung jawab untuk menjalankan aplikasi Android. DVM mirip dengan JVM tetapi dioptimalkan untuk perangkat mobile. DVM mengkonsumsi lebih sedikit memori dan memberikan kinerja yang cepat.
4) Application Framework
Di atas pustaka native dan runtime Android, terdapat application framework. Application framework termasuk API Android seperti UI (User Interface), telephony, resources, locations, Content Providers (data), dan package managers. Framework ini menyediakan banyak kelas dan antarmuka untuk pengembangan aplikasi Android.
5) Aplikasi
Di atas application framework, terdapat aplikasi. Semua aplikasi seperti home, kontak, pengaturan, permainan, dan browser menggunakan application framework yang menggunakan runtime dan pustaka Android. Runtime dan pustaka native menggunakan kernel Linux.
//TC