ویندوز به برنامه های دسکتاپ اجازه میدهد تا بصورت قابل مشاهده یا غیرقابل اجرا باقی بمانند. در حالی که iOS اپل فقط به برنامه ها امکان میدهد چند کار محدود در پس زمینه انجام دهند. اندروید در بین این دو حالت قرار دارد. برنامه هایی که در پیش زمینه اجرا میشوند در اولویت قرار دارند. اما برنامه ها در پس زمینه آزادی بیشتری نسبت به iOS دارند. ما در اینجا به نحوه مدیریت فرایند در اندروید پرداختهایم . به بیان دیگر چگونگی مدیریت برنامه ها و فرآیند های در حال اجرا روی تلفن یا تبلت شما توسط اندورید نگاه خواهیم کرد. در عین حال از آنچه در پس زمینه میگذرد عبور خواهیم کرد.
سلسله مراتب چرخه عمر فرآیند
یک فرآیند در Android میتواند در هر زمان از یکی از پنج حالت مختلف زیر باشد. این لیست از بیشترین تا کمترین میزان اهمیت چیده شده است:
- فرآیند پیش زمینه: برنامه ای که در حال استفاده از آن هستید یک فرایند پیش زمینه محسوب میشود. سایر فرایندها را میتوان فرآیندهای پیش زمینه نیز در نظر گرفت. به عنوان مثال، اگر آنها با فرآیندی که در حال حاضر در پیش زمینه است در تعامل هستند. در هر زمان فقط چند فرآیند پیش زمینه وجود دارد.
- فرآیند قابل مشاهده: یک فرآیند قابل مشاهده در پیش زمینه نیست. اما همچنان بر آنچه روی صفحه خود میبینید تأثیر میگذارد. به عنوان مثال، روند پیش زمینه ممکن است گفتگویی باشد که به شما اجازه میدهد برنامه ای را در پشت آن مشاهده کنید. برنامه قابل مشاهده در پس زمینه یک فرایند قابل مشاهده است.
- فرآیند خدمات: فرآیندهای مربوط با سرویس با برنامه ای که در صفحه شما قابل مشاهده است، مرتبط نیست. با این حال، این کار در پس زمینه انجام میشود، مانند پخش موسیقی یا بارگیری داده در پس زمینه. به عنوان مثال، اگر شروع به پخش موسیقی کنید و به برنامه دیگری بروید، پخش موسیقی در پس زمینه است و با یک سرویس انجام میشود.
- فرایند پس زمینه: فرآیندهای پس زمینه در حال حاضر برای کاربر قابل مشاهده نیستند. آنها هیچ تاثیری در تجربه استفاده از تلفن ندارند. در هر زمان مشخص، بسیاری از فرایندهای پس زمینه در حال اجرا هستند. شما میتوانید در مورد این فرایندهای پس زمینه به عنوان برنامه های متوقف شده (paused) فکر کنید. آنها در حافظه نگه داشته میشوند، بنابراین میتوانید به سرعت به آنها دسترسی پیدا کنید و از آنها استفاده کنید. در این شرایط آنها از زمان ارزشمند CPU یا سایر منابع غیر حافظه استفاده نمیکنند.
- فرآیند خالی: یک فرآیند خالی، حاوی داده های برنامه نیست. این شرایط ممکن است برای اهداف ذخیره سازی نگه داشته شود تا بتواند سرعت راه اندازی برنامه را افزایش دهد، یا در صورت لزوم سیستم آن را از بین می برد.
به عنوان مثال، بگذارید بگوییم شما تلفن خود را روشن کرده و یک برنامه موسیقی را باز میکنید. در حالی که از آن استفاده میکنید، برنامه موسیقی یک فرایند پیش زمینه خواهد بود. هنگامی که شروع به پخش موسیقی میکنید و برنامه موسیقی را ترک میکنید، موسیقی به عنوان یک فرایند سرویس ادامه خواهد یافت.

بیایید به Angry Birds به عنوان مثال دیگر نگاه کنیم. هنگامی که شما آن را بازی میکنید Angry Birds یک فرایند پیش زمینه خواهد بود. وقتی Angry Birds را ترک میکنید و برای مشاهده ایمیل خود به برنامه Gmail وارد می شوید، Angry Birds به یک فرایند پس زمینه تبدیل میشود (زیرا لازم نیست کاری در پس زمینه انجام دهد). در حالی که Gmail به فرایند پیش زمینه تبدیل میشود. وقتی دوباره به Angry Birds برگردید، Angry Birds پیش زمینه شما میشود و بازی به سرعت از سر گرفته میشود. بازی Angry Birds در حالت پس زمینه از منابع استفاده نمی کرد، به جز مقداری از رم (RAM) دستگاه. اما بعد از مراجعه به آن به سرعت از سر گرفته میشود. زیرا در حافظه پنهان باقی مانده و آماده شروع دوباره است.
اندروید به طور خودکار فرآیند ها را مدیریت میکند
اندروید (Android) از عهده مدیریت خودکار این فرآیندها برآمده است. به همین دلیل در اندروید نیازی به از بین برنده وظایف چیزی شبیه به مدیریت وظایف ویندوز ندارید.
وقتی اندروید به منابع سیستمی بیشتری نیاز داشته باشد، ابتدا فرآیندهای با کمترین اهمیت را از بین میبرد. اگر سیستم شما کم بیارد، اندروید (Android) شروع به از بین بردن فرآیندهای خالی و پس زمینه میکند تا حافظه آزاد شود. اگر به حافظه بیشتری احتیاج دارید، به عنوان مثال، اگر در دستگاهی بدون RAM زیاد بازی خاصی را انجام میدهید،Android شروع به بستن فرایندهای سرویس میکند، بنابراین دانلود موسیقی و دانلود فایل شما ممکن است متوقف شود.
در بیشتر موارد، اندروید این کارها را بدون نیاز به نگرانی در مورد آنها انجام میدهد. سیستم عاملAndroid به صورت هوشمندانه از حافظه RAM دستگاه شما برای ذخیره برنامه ها و سایر داده ها استفاده میکند، زیرا خالی ماندن RAM شما فایده ای ندارد.
البته، اندروید انعطاف پذیری زیادی را به برنامه ها ارائه میدهد. به طوری که جای رفتارهای نادرست دارند. به عنوان مثال، یک برنامه با کد نادرست میتواند فرآیند خدماتی را شروع کند که همیشه در پس زمینه اجرا میشود. این کار تمام وقت پردازنده شما را مصرف میکند و به طور چشمگیری باعث کاهش عمر باتری میشود.
یک نکته جالب که در برنامه های آنتی ویروس مانند Avast برای Android مشاهده خواهید کرد این است که برنامه آنتی ویروس از یک نماد اعلان استفاده میکند. اگر بخواهید نماد اعلان آن را غیرفعال کنید Avast در برابر آن توصیه خواهد کرد. Avast با داشتن یک نماد اعلان قابل مشاهده، خود را یک برنامه با اولویت بالاتر معرفی میکند تا بتواند از اینکه آندروید آن را به عنوان یک برنامه پس زمینه در نظر بگیرد و آن را از بین ببرد جلوگیری کند.

برنامه های Android میتوانند در پاسخ به رویدادها اجرا شوند
برنامه های Android همچنین میتوانند در پاسخ به وقایع مختلف شروع به کار کنند. به عنوان مثال، یک توسعه دهنده میتواند برنامه خود را برنامه ریزی کند تا هنگام راه اندازی به طور خودکار اجرا شود و یک سرویس را در پس زمینه اجرا کند. برنامه ها میتوانند در پاسخ به رویدادهای مختلف دیگر مانند زمان عکس گرفتن، تغییر اتصال داده و غیره شروع به کار کنند. با این کار برنامه ها میتوانند بدون پاسخ دائمی در پس زمینه، اقدامات مربوط به رویدادها را انجام دهند.

مدیریت فرایند در اندروید
نیازی به مدیریت دستی فرایند ها در اندروید نیست، اما در صورت تمایل چند روش وجود دارد. برای انجام مدیریت فرایند های اساسی در اندروید میتوانید از منوی چند وظیفه ای در Android 4.0 به بعد استفاده کنید. برای دسترسی به آن، روی دکمه اختصاصی چند وظیفه ای در دستگاه های Nexus ضربه بزنید. در سایر دستگاه هایAndroid ، ممکن است مجبور شوید دو بار روی دکمه صفحه اصلی ضربه بزنید یا آن را فشار دهید.
برنامه های نمایش داده شده در منو احتمالاً در حالت فرایند پس زمینه (background process) هستند. با کشیدن یک برنامه به سمت چپ یا راست میتوانید آنها را از بین ببرید یا به بیان دیگر خاموش کنید. این کار باعث میشود برنامه از حافظه دستگاه شما خارج شود. انجام این کار ضرورتی ندارد. اما وقتی میخواهید یک برنامه را سریع ببندید میتواند به شما کمک کند، و در کل شاید این عملکرد نادرستی باشد.

همچنین میتوانید به صفحه تنظیمات بروید. روی گزینه برنامه ها (Apps) ضربه بزنید. سپس روی برنامه مورد نظر ضربه بزنید و از دکمه «توقف اجباری» برای از بین بردن برنامه ای که بد رفتاری دارد استفاده کنید.

کلام آخر اینکه، اندروید مبتنی بر لینوکس است و هر برنامه در اندروید دارای یک شناسه کاربری لینوکس اختصاصی یا حساب کاربری است. این موضوع برنامه ها را از یکدیگر جدا میکند.
مطالبی که شاید برای شما مفید باشد
چگونگی گذاشتن قفل کودک در تبلت یا تلفن هوشمند اندرویدی
چگونه میتوان شماره نسخه اندروید دستگاه را پیدا کرد
4 مرورگر عالی جایگزین برای دستگاه اندرویدی