Pregled posta

Adresa bloga: https://blog.dnevnik.hr/androidblog

Marketing

Arhitektura Androida

Android je zasnovan na jezgri Linux 2.6 i napisanom u C/C++ programskom jeziku. Obzirom na otvorenost izvornog programskog koda, aplikacije putem middlewarea imaju mogućnost komuniciranja i pokretanja drugih aplikacija primjerice za ostvarivanje poziva, slanje SMS poruka, pokretanja kamere i slično. Iako su C i C++ programski jezici korišteni za radno okružje (framework), većina aplikacija pisana je u Java programskom jeziku koristeći Android Software Development Kit (SDK). Postoji mogućnost pisanja aplikacija i u C/C++ programskom jeziku, no tada se koristi Android Native Code Development Kit (NDK) (androidov razvijateljski kit u izvornom kodu).

Na dnu stoga nalazi se Linux 2.6 jezgra koji sadrži drivere od kojih su najvažniji driver za međuprocesnu komunikaciju (IPC - Inter-process communication) koji služi za izmjenu podataka između različitih procesa ili niti unutar istog procesa te driver za upravljanje napajanjem (Power Managment).
Iznad jezgre nalaze se knjižnice koje su pisane u C/C++ programskom jeziku:

Surface Manager – knjižnica koja nadzire iscrtavanje grafičkog sučelja
OpenGL | ES – knjižnica za skopovsko ubrzavanje 3D prikaza (ukoliko je moguća) te za visoko optimiziranu 3D softversku rasterizaciju
SGL – 2D knjižnica korištena za većinu aplikacija
Media Framework – knjižnica temeljena na OpenCORE koja podržava snimanje i reproduciranje poznatih audio/video formata
FreeType – knjižnica namjenjena iscrtavanju fontova
SSL (Secure Sockets Layer) - knjižnica za sigurnosnu komunikaciju putem interneta
SQLite – knjižnica za upravljanje bazama podataka dostupna svim aplikacijama
WebKit – engine za web preglednike
libc – sistemska C knjižnica prilagođena za ugradbene sustave zasnovane na Linux OS-u

Slijedi Android Rnuntime odnosno sloj koji služi pokretanju aplikacija. Sastoji se od dvije važne komponente. Prva su tzv. "Core libraries" odnosno knjižnice koje sadrže većinu jezgrenih knjižnica programskog jezika Java. Druga komponenta je Dalvik Virtual Machine koji pokreće aplikacije kao zasebne procese odnosno kao instance virtualnog stroja. DVM pretvara Java class datoteke u svoj vlastiti format (.dex), kako bi bile optimizirane za minimalni utrošak memorije.

Post je objavljen 23.04.2015. u 16:09 sati.