سلام عزیزان ، حالتون که خوبه؟ با اموزشهای امروز که درمورد معماری اندروید همراه بمانید. دراین قسمت به بررسی معماری اندروید میپردازیم.
سیستم عامل اندروید به صورت پشته ای از مولفه های نرم افزاری است که همان طور که در شکل زیر در دیاگرام معماری نشان داده شده است، به طور کلی به پنچ قسمت و چهار لایه ی اصلی تقسیم می شود.
Linux kernel (هسته ی لینوکس)
در پایین لایه های لینوکس، لینوکس ۲٫۶ با تقریبا ۱۱۵ پچ وجود دارد. این لایه عملکردهای اصلی سیستم مانند مدیریت فرایند، مدیریت حافظه، مدیریت دستگاه هایی مانند دوربین، کیبورد، صفحه نمایش را برعهده دارد. هسته همچنین تمام نقاط قوت لینوکس مانند شبکه بندی و طیف وسیعی از درایورهای دستگاه ها که به عنوان واسط سخت افزارهای جانبی عمل می کنند، را مدیریت می کند.
کتابخانه ها (Libraries)
در بالای هسته ی لینوکس مجموعه ای از کتابخانه ها شامل موتور مرورگر وب متن باز WebKit، کتابخانهی معروف libc، پایگاه دادهی SQLite که یک مخزن مفید برای ذخیره سازی و به اشتراک گذاری داده های اپلیکیشن هاست، کتابخانه هایی برای ثبت و پخش صوت و تصویر، کتابخانه های SSL که مسئول امنیت اینترنت هستند و غیره هستند.
Android Runtime
این بخش سومین بخش معماری است و از پایین در دومین لایه قرار دارد. این بخش یک مولفه ی کلیدی به نام Dalvik Virtual Machine را ایجاد می کند که نوعی از ماشین مجازی جاوا است که به صورت ویژه برای اندروید طراحی و بهینه سازی شده است.
Dalvik VM از ویژگی های هسته ی لینوکس مانند مدیریت حافظه و چند نخی که مربوط به زبان جاوا است،استفاده می کند. Dalvik VM هر برنامه ی اندرویدی را قادر می سازد که فرایندهای مربوط به خود را با نمونه ی خودش از ماشین مجازی Dalvik اجرا کند.
Android runtime همچنین مجموعه ای از کتابخانه های هسته ای را ایجاد می کند که توسعه دهندگان اپلیکیشن های اندرویدی را قادر می سازد که برنامه های اندرویدی را با استفاده از زبان برنامه نویسی استاندارد جاوا بنویسند.
چارچوب اپلیکیشن (Application Frame work)
لایه ی Application Frame work بسیاری از سرویس های سطح بالاتر را به صورت کلاس های جاوا برای اپلیکیشن ها فراهم می کند. توسعه دهندگان جاوا می توانند از این سرویس ها در اپلیکیشن های خود استفاده کنند.
اپلیکیشن ها (Applications)
شما تمام اپلیکیشن های اندروید را در لایه ی بالا می بینید. شما اپلیکیشن های خود را فقط برای نصب بر روی این لایه می نویسید. مثال هایی از این اپلیکیشن ها، دفترچه تلفن ها، مرورگر، بازی ها و غیره هستند