چرا بستن اپلیکیشن‎ها برای صرفه جویی در مصرف باتری فکر خوبی نیست

شاید تا حالا اتفاق افتاده باشد که شاهد افرادی باشید که در حال دایم سوایپ کردن تمامی کارد‎ها در App Switcher برای بستن اجباری اپلیکیشن‎هایی هستند که همین چند لحظه قبل اجرا کرده‎اند. ممکن است دلیل آن را بدانید ولی اگر از یکی از آن‎ها بپرسید حتما با جواب “من این کار را برای صرفه جویی در مصرف باتری انجام می‎دهم” مواجه می‎شوید. چیزی که آن‎ها نمی‎دانند این است که چنین کاری دقیقا تاثیر متضادی برای عمر باتری آیفون دارد.

1

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

اگر شما جزو آن دسته از افرادی هستید که برای حفظ میزان مصرف باتری اپلیکیشن‎ها را به حالت اجباری می‎بندید، این کار را متوقف و با خواندن این پست با ما همراه باشید.

سخن طولانی را کوتاه کردن

برای آن دسته از افرادی که زیاد به بحث‎های تخصصی علاقه ندارند، کلیت ماجرا این است:

تا زمانی که یک اپلیکیشن چنین رفتاری را نشان ندهد، نباید هرگز آن را به اجبار ببندید

برخلاف آنچه که اکثر مردم باور دارند، بستن اجباری یک اپلیکیشن در واقع باعث هدر رفتن باتری می‎شود

اپل در اختیار توسعه دهندگان ابزاری را قرار داده است تا اپلیکیشن‎های آن‎ها در پس زمینه عملکرد موثری داشته باشند

کاربران باید به این ایمان داشته باشند که خود سیستم به صورت موثر اپلیکیشن‎هایی که فعال نیست را مدیریت می‎کند

حالا اگر می‎خواهید بیشتر در رابطه با علت عدم این کار اطلاعات داشته باشد جزییات بیشتر را در زیر بخوانید.

اصطلاح شناسی: بستن در برابر بستن اجباری

بستن یک اپلیکیشن با فشار دادن دکمه‎یHome صورت می‎گیرد.

برای بستن اجباری یک اپلیکیشن نیاز به این است که کاربر دوبار روی دکمه‎ی Home فشار دهد، سپس روی یک کارت اپلیکیشن به سمت بالا در App Switcher سوایپ کند.

افسانه‎ای که وجود دارد

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

حقیقتی که وجود دارد

حقیقت این است که زمانی که شما یک اپلیکیشن را با فشار دادن دکمه‎ی Home می‎بندید، جلوی استفاده‎ی آن اپلیکیشن از پردازنده گرفته و استفاده اپلیکیشن از حافظه به حالت تعلیق در می‎آید. در آن زمان، اپلیکیشن در پس زمینه فعال نیست.

استثنائاتی نیز وجود دارد، که ما در مورد آن‎ها متوجه خواهیم شد، ولی به عنوان یک قاعده‎ی کلی، فشار دادن دکمه‎ی Home باعث متوقف سازی اپلیکیشن شده و آن را در وضعیت تعلیق قرار می‎دهد که عملا از هیچ باتری استفاده نمی‎کند. با نگه داشتن یک اپلیکیشن در حافظه، سیستم مطمئن می‎شود که شما می‎توانید با اجرای دوباره‎ی آن برنامه کاری که متوقف ساخته‎اید را ادامه دهید.

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

زمانی که شما دکمه‎ی Home را فشار می‎دهید، وضعیت استفاده‎ی اپلیکیشن از پردازنده به حالت تعلیق در می‎آید، حتی با آنکه هنوز در مموری قرار دارد، و این امر عملا هیچگونه تاثیری روی باتری ندارد.

مجددا، استثنائاتی در این رابطه وجود دارد و ما آن‎ها را بعدا بحث خواهیم کرد.

اینطور تصور کنید

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

فرض کنیم در حال تماشای تلویزیون هستید و تشنه هستید. به آشپزخانه می‎روید و یک لیوان برداشته و آن را از آب پر کرده و نیمی از آن را می‎نوشید. شما نیمه‎ی دیگر لیوان را در ظرفشویی ریخته و به جلوی تلویزیون بر می‎گردید.

5 دقیقه بعد، شما دوباره تشنه هستید، به آشپزخانه بر می‎گردید و کار بالا را تکرار می‎کنید.

منطقی نیست، نه؟ چرا باید آبی که به احتمال زیاد دوباره تشنه می‎شوید و می‎خواهید بنوشید دور می‎ریزید؟ چرا لیوان نیمه خالی را روی پیشخوان نمی‎گذارید تا اگر نیاز بود آن را بنوشید به جای اینکه دوباره پر کنید؟

شما در حال هدر دادن منابع هستید، و دقیقا همین کار را با با بستن اجباری یک اپلیکیشن انجام می‎دهید. شما با خارج سازی آن اپلیکیشن از مموری، و بارگذاری مجدد به دنبال اجرای دوباره‎ی آن، باتری را هدر می‎دهید.

نحوه‎ی مدیریت اوضاع توسط iOS زمانی که یک اپلیکیشن را می‎بندید

اپلیکیشن‎ها در iOS در 5 وضعیت اجرای متفاوت می‏توانند باشند:

• در حالت غیر اجرا: اپلیکیشن باز نشده یا بسته شده است. در مموری وجود ندارد. از باتری استفاده نمی‎کند.

• غیر فعال: اپلیکیشن در پیش زمینه است ولی استفاده نمی‎شود، نظیر زمانی که شما دستگاه خود را در حالی که یک اپلیکیشن بر روی صفحه‎ی نمایش است، قفل می‎کنید. در مموری قرار دارد، ولی باتری یا CPU استفاده نمی‎شود.

• فعال: اپلیکیشن در حال استفاده شدن است. از CPU استفاده می‎کند و در مموری قرار دارد. از باتری استفاده می‎شود.

• پس زمینه: اپلیکیشن هنوز در حالت پردازش قرار دارد، ولی دیگر در صفحه‎ی نمایش نیست. از CPU استفاده می‎کند و در مموری قرار دارد. از باتری استفاده می‎شود.

• معلق: اپلیکیشن در وضعیت اجرا یا روی صفحه‎ی نمایش قرار ندارد. از CPU اسفاده نمی‎کند ولی در مموری قرار دارد. از باتری استفاده نمی‎شود.

از فعال تا پس زمینه، تا معلق

اگر در حال حاضر در حال استفاده از یک اپلیکیشن هستید، فعال در نظر گرفته می‎شود. از CPU و مموری استفاده می‎کند. به محض اینکه دکمه‎ی Home را فشار دهید، اپلیکیشن به پس زمینه منتقل می‎شود جاییکه به مدت اندکی (چند ثانیه) قبل از تعلیق باقی خواهد ماند. در عرض چند ثانیه بعد از اینکه شما دکمه‎ی Home را فشار دادید، اپلیکیشن تعلیق یافته دیگر از CPU استفاده نمی‎کند چون هنوز در مموری قرار دارد، بنابراین می‎تواند زمانی که دفعه‎ی بعد آن را باز کنید سریع تر اجرا شود.

از معلق تا در حالت غیر اجرا

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

شما می‎توانید اطلاعات بیشتری با خواندن وضعیت‎های اجرا برای اپلیکیشن‎ها در راهنمای برنامه نویسی اپلیکیشن‎های اپل برای iOS به دست آورید.

استثنائات

حالا وقت آن است در مورد استثنائاتی در رابطه با قانونی که به آن اشاره شد صحبت کنیم. اپل در کتابخانه‎ی توسعه دهندگان خود در رابطه با این نوع اپلیکیشن‎ها جزییات بیشتری در اختیار شما می‎گذارد که ما به صورت جمع بندی آن‎ را اینجا بیان می‎کنیم.

اپلیکیشن‎هایی که نیاز به پایان دادن اجرای یک وظیفه‎ی کوتاه مدت دارند: اپلیکیشن‎هایی هستند که در پیش زمینه پردازشی را شروع کرده‎اند ولی زمانی که اپلیکیشن بسته می‎شود یک نوع بازه‌ی زمانی برای پایان دادن پردازش خود در اختیار سیستم می‎گذارند. به عنوان مثال، اگر شما در حال استفاده از یک کلاینت ایمیل شخص ثالث برای ارسال یک فایل بسیار بزرگ هستید، ممکن است روی گزینه‎ی “ارسال” آهسته ضربه زده و اپلیکیشن را ببندید. این اپلیکیشن می‎تواند درخواست یک اکستنشن در پس زمینه در حین تکمیل وظیفه‏ی خود کند. زمانی که آن وظیفه کامل شد، اپلیکیشن به حالت تعلیق در می‎آید.

اپلیکیشن‎هایی که نیاز به دانلود محتوا در پس زمینه دارند: این نوع اپلیکیشن‎ها در پیش زمینه شروع به دانلود می‎کنند ولی نیاز به زمان برای تکمیل آن وظیفه زمانی که به پس زمینه انتقال داده می‎شوند، دارند. طبق گفته‎ی اپل، این اپلیکیشن‎ها می‎توانند این دانلودها را در اختیار سیستم قرار دهند و با این کار اجازه به تعلیق یا بستن اپلیکیشن در حین ادامه یافتن دانلود، داده شود. یک نمونه‎ی خود زمانی که خواهد بود که یک اپلیکیشن پادکست در حال دانلود قسمت جدیدی است. شما می‎توانید دانلود را آغاز، اپلیکیشن را ببندید، ولی دانلود در پس زمینه ادامه خواهد یافت.

اپلیکیشن‎هایی که نیاز به اجرای وظایف در بازه‎ی زمانی طولانی دارند: این نوع اپلیکیشن‎ها باید اجازه یابند که در پس زمینه برای انجام یکسری خاص از وظایف اجرا شوند، نظیر اجرای محتوای قابل پخش (یک اپلیکیشن موزیک) ضبط صدا، گشتن فعال یک مکان (یک اپلیکیشن مسیریابی)، پشتیبانی از صدا بر روی بستر اینترنت (نظیر اسکایپ)، پردازش منظم محتوای جدید (اپلیکیشن‎های مربوط به طراحی مجله)، و دریافت منظم به روز رسانی‎ها از لوازم جانبی خارجی (یک اپلیکیشن که در ارتباط با یک مانیتور فیزیکی ارتباط قلب است).

مجدد، کاربر باید در رابطه با مدیریت صحیح این اپلیکیشن‎ها به سیستم اعتماد داشته باشد.

شما می‎توانید اطلاعات بیشتری با خواندن اجرا در پس زمینه در راهنمای برنامه نویسی اپلیکیشن اپل برای iOS به دست آورید.

در رابطه با رفرش اپلیکیشن در پس زمینه

با تمامی این حرف‎ها، بعضی از شما ممکن است در این فکر باشید که چه بر سر اپلیکیشن‎هایی که برای آن‎ها رفرش اپلیکیشن در پس زمینه فعال شده است، می‎افتد.

من زیاد از نظر فنی در رابطه با این ویژگی نمی‎توانم صحبت کنم، به جز اشاره به این سند پشتیبانی:

بعد از اینکه شما به یک اپلیکیشن دیگر سوییچ کردید، بعضی از اپلیکیشن‎ها قبل از اینکه به حالت تعلیق در آورند به مدت اندکی در حالت اجرا هستند. اپلیکیشن‎هایی که در وضعیت تعلیق قرار دارند از نظر استفاده شدن، یا استفاده از منابع سیستمی در وضعیت فعال قرار ندارند. با فعال سازی Background App Refresh، اپلیکیشن‎های معلق شده می‎توانند دریافت به روز رسانی‎ها یا محتوای جدید را چک کنند.

آنطور که مشخص شده است، یک نسخه‎ی قدیمی تر از همین سند جزییات بیشتری در رابطه با نحوه‎ی کارکرد Background App Refresh در اختیار می‎گذارد:

بعضی از اپلیکیشن‏‎ها می‏توانند در پس زمینه در حالت اجرا بودن را ادامه دهند. شما می‎توانید به این اپلیکیشن‎ها با فعال سازی Background App Refresh اجازه دهید خودشان را رفرش کنند. این تنظیمات به اپلیکیشن‎ها اجازه می‎دهد وجود به روز رسانی‏ها یا محتوای جدید را بررسی کنند.

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

طبق نسخه‎ی اولیه از این سند پشتیبانی، و همچنین براساس عقل سلیم، ضرری ندارد که اینطور فرض کنیم که iOS در رابطه با نحوه‎ی رفرش سازی اپلیکیشن‎ها در پس زمینه باهوش است، و بدون فکر تمام روز اپلیکیشن‎ها را به روز رسانی نخواهد کرد. به عنوان مثال به طور دایم فید فیسبوک شما را در سراسر روز در پس زمینه رفرش نخواهد کرد.

اگر شما نگران عمر باتری هستید، شاید بهتر است به بخش Settings > General > Background App Refresh بروید و اپلیکیشن‎هایی که نیاز به استفاده ندارید یا دوست دارید در پس زمینه به روز رسانی شوند را انتخاب کنید. شخصا، Background App Refresh را برای 80% اپلیکیشن‎هایم غیر فعال کرده‎ام.

خوب، چه زمانی باید اپلیکیشن‎ها را به اجبار ببندیم؟

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

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

 

idownloadblog