سیستم عامل اندروید بر پایه سیستم عامل لینوکس طرح ریزی شده است .
اندروید دارای ماشین مجازی Dalvik می باشد.جاوا خود دارای ماشین مجازی می باشد و در کنار آن ، اندروید هم خود یک ماشین مجازی طراحی کرده است که هر برنامه ای که قرار است روی Device اجرا بشود ،یک ماشین مجازی مختص خودش داشته باشد.
هر برنامه جاوا پس از کامپایل به byte code تبدیل می شود و Dalvik Machine این byte code را در زمان اجرا می خواند ، بهینه می کند و نمایش می دهد.
اندروید برای جست و جو در اینترنت از موتور جست و جویی به نام Webkit استفاده میکند.برای پردازش عکس های 2و 3 بعدی از OpenGl Es و برای ذخیره اطلاعات از sqlite استفاده میکند.
کامپوننت های اندروید
Activity : به معنای یک صفحه از Application می باشد.موقع اجرای برنامه وارد صفحه ای می شوید که آن یک Activity هست و سپس مثلا با زدن بر دکمه ای وارد صفحه ای دیگر میشوید آن یک Activity دیگر است.
Service : به اجرای عملیاتی الحاق می شود که خارج از دید کاربر رخ می دهد که ممکن است برای مدت کوتاه یا بلندی اجرا شود.این کامپونت دارای GUI نمیباشد و در Background برنامه اجرا میشود.به طور مثال در حین نوشتن پیام به آهنگ هم گوش میدهید و اثری جز صدای آهنگ را نمیشنوید. Serviceها مجزا از Activity هایی که آنها را اجرا می کنند ،به کار خود ادامه می دهند.مثلا Activity که آهنگی را play می کند را باز و پس از play آهنگ ، آن را بسته در حالی که آهنگ در حال اجرا است و با بسته شدن Activity ،متوقف نمیشود.
Content Provider : وظیفه اش ذخیره اطلاعات و قرار دادن اطلاعات ذخیره شده در اختیار دیگر Application ها می باشد.در واقع راه به اشتراک گذاری داده میان Application های مختلف می باشد.
Broadcast Receiver : این کامپوننت وظیفه دارد تا به هشدار هایی که در سطح کل سیستم بوجود می آید پاسخ دهد.مثلا هشداری که با رسیدن شارژ باتری به 10 درصد رخ میدهد یک Broadcast Receiver است .