به گزارش پایگاه خبری پیام خانواده؛ در سالهای اخیر، اجرای روان سیستمعامل اندروید به منابع سختافزاری بیشتری مانند حافظهی رم و فضای ذخیرهسازی بیشتری نیاز دارد. به همین دلیل، کاربران وقتی با کندی گوشی مواجه میشوند، معمولاً به راهحلی قدیمی متوسل میشوند: بستن برنامههای در حال اجرا. تصور منطق پشت این کار هم ساده است: بستن اپها منابع گوشی را آزاد میکند و به سایر اپلیکیشنها اجازه میدهد سریعتر اجرا شوند.
اما این باور صحت ندارد و شما نیازی به بستن مداوم اپها در گوشی یا تبلت اندرویدی خود ندارید. در واقع، بستن اپها نهتنها عملکرد دستگاه اندرویدی شما را بهتر نمیکند، بلکه گاهی برعکس، میتواند باعث کندتر شدن دستگاه شود.
بیایید این موضوع را با دقت بیشتری بررسی کنیم. اندروید اصولاً طوری طراحی شده که منابع مورداستفاده برنامهها و فرایندهای پسزمینه را در زمانی که استفاده نمیشوند، کاهش دهد. هرچند اپلیکیشنهای زیادی هم هستند که برای اجرا در پسزمینه، از شما میخواهند این قابلیت را غیرفعال کنید.
جالب اینکه این ویژگی جدید هم نیست و از زمان اندروید مارشمالو (۲۰۱۵) ارائه میشود.
آیا بستن اپها واقعا به گوشی شما کمک میکند؟
ایدههای عمومی زیادی بین کاربران در مورد بستن برنامهها روی گوشیهای هوشمند، مخصوصاً اندرویدی رواج دارد که عمدتاً صحیح نیستند. برای مثال بسیاری باور دارند که بستن اپلیکیشنها باعث صرفهجویی در باتری میشود. اما اندروید مکانیزمهای خاصی برای بهینهسازی مصرف باتری دارد و بستن اپهای پسزمینه لزوماً به معنای صرفهجویی چشمگیر در مصرف باتری نیست.
بهعلاوه، طبق گزارش وبسایت «MakeUseOf» بستن برنامهها در اندروید باعث نمیشود سایر اپلیکیشنهایی که در حال اجرای آنها هستید، سریعتر یا بهتر کار کنند. حتی برعکس، وقتی شما مدام برنامهها را میبندید، گوشی مجبور میشود سختتر کار کند.
یکی دیگر از تصورات غلط این است که اینکه اجرای برنامهها در پسزمینه باعث هدررفتن اینترنت میشود. بعضی اپلیکیشنها چه باز باشند و چه بسته، از اینترنت استفاده میکنند. البته کاربران مصرف دیتای پسزمینه را در تنظیمات غیرفعال کنند، اما در این صورت اعلانهای آن برنامهها را هم تا زمانی که دوباره این گزینه فعال نشود، دریافت نخواهند کرد.
اندروید چگونه اپهای پسزمینه را مدیریت میکند؟
سپتامبر ۲۰۱۵ گوگل همزمان با انتشار اندروید ۶.۰ مارشمالو، قابلیتی به نام Doze را معرفی کرد. همانطور که از نامش پیدا است، Doze وظیفه داشت وقتی اپلیکیشنها و سرویسهای داخلی در حال استفاده نبودند، آنها را به حالت خواب (sleep) ببرد. همهی این کارها بهطور خودکار انجام میشد و دیگر نیازی نبود کاربر بهصورت دستی برنامهها را ببندد.
طبق توضیحات صفحه توسعهدهندگان گوگل، Doze «سعی میکند با محدودکردن دسترسی اپلیکیشنها به شبکه و سرویسهای پردازشی سنگین، مصرف باتری را کاهش دهد. همچنین مانع دسترسی مستقیم اپها به اینترنت میشود و اجرای وظایف، همگامسازیها و آلارمهای استاندارد آنها را به تعویق میاندازد.»
همانطور که انتظار میرفت، نسخه اولیه Doze بیش از حد سختگیر بود و اغلب مانع کارکرد ویژگیهای حیاتی مانند زنگ هشدار (آلارم) میشد. با گذشت سالها، این ویژگی به طور قابلتوجهی بهبود یافت و امروز در قالب بهینهسازی باتری (Battery Optimization) روی اکثر گوشیهای اندرویدی دیده میشود.
البته بسته به شرکت سازنده گوشی و پوستهی اندرویدی که اجرا میکند؛ شدت این بهینهسازیها هم میتواند متفاوت باشد.
اندروید سختگیرتر از شماست: وقتی خود گوشی اپها را میبندد
براساس پروژه جامعهمحور «!Don't Kill My App»، سازندگان اندرویدی مانند سامسونگ، وان پلاس، هواوی و شیائومی از جمله شرکتهایی هستند که در زمینه بستن خودکار اپلیکیشنها بسیار سختگیرانه عمل میکنند. اگر میخواهید بفهمید نسخهی اندروید گوشی یا تبلت شما تا چه حد تهاجمی با برنامهها برخورد میکند، میتوانید اپلیکیشن DontKillMyApp را نصب و تست کنید.
حالا دیگر میدانیم که خود اندروید بهخوبی آگاه است چه منابعی مصرف میشوند و برای همین، اپلیکیشنها و سرویسهای بلااستفاده را بهطور خودکار متوقف میکند. بنابراین برمیگردیم به همان سؤال اصلی: آیا بستن دستی برنامهها لازم است؟ پاسخ این است که نه و حتی گاهی برعکس، نتیجهی بدی دارد.
اندروید برای عملکرد بهینه، همیشه به اجرای برخی اپها و سرویسهای سیستمی در پسزمینه نیاز دارد. وقتی شما یک اپ را با هدف آزادکردن رم میبندید، همان اپ ممکن است برای شروع مجدد به منابع بیشتری نیاز داشته باشد و در عمل، نهتنها دیرتر از حد معمول اجرا شود، بلکه حتی گوشیتان را هم کُندتر کند.
چرا باز کردن دوباره اپ، سریعتر از اجرای آن برای اولین بار است؟
صفحه توسعهدهندگان اندروید نحوهی راهاندازی اپلیکیشنها را در قالب سه اصطلاح توضیح میدهد: «استارت سرد» (cold start)، «استارت گرم» (warm start) و «استارت داغ» (hot start).
«استارت سرد» حالتی است که اپلیکیشنی که قبلاً کاملاً بسته شده بود، از صفر اجرا میشود. همانطور که گوگل اشاره میکند، شروع سرد به زمان و منابع بیشتری نسبت به حالتهای دیگر نیاز دارد، زیرا باید فرایندهای بسیار بیشتری را برای راهاندازی اپ مدیریت کند.
در مقابل، «استارت گرم» به این معناست که اپلیکیشن از قبل در حافظه گوشی وجود دارد؛ یعنی میتوانید از طریق منوی مالتیتسکینگ به آن دسترسی داشته باشید. در این حالت دستگاه اندرویدی تنها «زیرمجموعهای از فرایندها» را در مقایسه با شروع سرد اجرا میکند.
درنهایت، «استارت داغ» زمانی است که کاربر صرفاً اپلیکیشنی را که اخیراً استفاده کرده، دوباره روی صفحه میآورد. در این حالت اندروید برای فعال ماندن اپلیکیشن به حداقل فعالیت ممکن نیاز دارد.
برای درک سادهتر این موضوع، میتوانیم آن را با روشنکردن خودرو در یک روز برفی و بسیار سرد مقایسه کنیم: اگر خودرویی در دمای زیر صفر برای مدت طولانی خاموش مانده باشد؛ روشنکردنش سخت و زمانبر خواهد بود. اما اگر مدتی با خودرو رانندگی کرده باشید و فقط برای خرید یک قهوه یا پشت چراغقرمز متوقف شوید، میتوانید خودرو را نسبتاً سریع دوباره روشن کنید.
درنهایت اگر موتور خودروی شما روشن باشد یا مثلاً کلاچ را ناگهانی رها کرده باشید و ماشین خاموش شود، روشنکردن دوباره آن تقریباً زحمتی نخواهد داشت.
پس چه زمانی واقعاً باید یک اپ را ببندیم؟
ناگفته نماند که باوجود تمام این سازوکارهای خودکار اندروید، هنوز هم ممکن است اپلیکیشنها دچار اختلال شوند. خوشبختانه برخلاف گذشته، دیگر نیازی نیست برای درست کارکردن یک اپ، کل گوشی را ریاستارت کنید.
سادهترین راه این است اپلیکیشن را یکبار ببندید و دوباره باز کنید تا به حالت عادی برگردد. اگر بستن عادی اپلیکیشن جواب نداد، میتوانید وارد بخش اطلاعات همان برنامه در تنظیمات گوشی یا تبلت خود شوید و گزینهی «Force Stop» (توقف اجباری) را بزنید. این کار باعث میشود برنامه کاملاً بسته شود. دفعهی بعد که اپلیکیشن را اجرا کنید، باید بدون مشکل کار کند.
همچنین اگر به دنبال آزادکردن فضای بیشتری در گوشی هستید یا هنوز با برنامهای مشکل دارید که درست اجرا نمیشود، میتوانید حافظهی کش (Cache) آن اپلیکیشن را پاک کنید. این کار معمولاً مشکلات جزئی را برطرف میکند.