استفاده از داده تلفن همراه پرهزینه است و حتی بیشتر از آن، جایی که هزینههای طرح داده برای همه مقرون به صرفه نیست. کاربران اندروید به توانایی کاهش مصرف داده یا مسدود کردن کامل آن از برنامهها نیاز دارند. ویژگی Data Saver در نسخه اندروید ۷.۰ این قابلیت را در اختیار کاربر قرار میدهد.
قابلیت صرفهجویی در مصرف داده (Data Saver) میتواند توسط کاربر فعال یا غیرفعال شود. توسعهدهندگان اپلیکیشن باید از یک API جدید برای بررسی فعال بودن حالت صرفهجویی در مصرف داده استفاده کنند. در صورت فعال بودن، توسعهدهندگان اپلیکیشن میتوانند با تنظیم اپلیکیشنهای خود برای دسترسی کم یا بدون دسترسی به داده، این وضعیت را به خوبی مدیریت کنند.
کاربران نهایی از این مزیت بهرهمند میشوند زیرا میتوانند کنترل کنند که کدام برنامهها میتوانند در پسزمینه به دادهها دسترسی داشته باشند و کدام برنامهها فقط در پیشزمینه به دادهها دسترسی دارند. این امر تبادل دادههای پسزمینه مطلوب را هنگام فعال بودن صرفهجویی در مصرف داده برای هر کنترل کاربر تضمین میکند.
پیادهسازی
از آنجایی که Data Saver یک ویژگی در پلتفرم است، تولیدکنندگان دستگاهها به طور پیشفرض با نسخه N از آن بهرهمند میشوند. فایلهای منبع را در این مسیر پیدا کنید: بستهها/برنامهها/تنظیمات/src/com/android/settings/datausage
رابط تنظیمات
رابط کاربری پیشفرض تنظیمات صرفهجویی در مصرف داده در پروژه متنباز اندروید (AOSP) ارائه شده است. برای مثال، به تصاویر زیر مراجعه کنید.
این تصاویر، حالت صرفهجویی در مصرف داده را در حال استفاده نشان میدهند.

شکل ۱. خاموش/روشن کردن صرفهجویی در مصرف داده

شکل ۲. وقتی هر دو حالت صرفهجویی در مصرف باتری و صرفهجویی در مصرف داده فعال هستند

شکل ۳. صفحهی میزان مصرف دادهی مختص هر برنامه: تنظیمات > برنامهها > میزان مصرف داده

شکل ۴. حالتهای صرفهجویی در مصرف داده در منوی تنظیمات سریع
برنامهها
مهم : توسعهدهندگان دستگاه نباید برنامهها را در لیست سفید قرار دهند. حتی اگر این کار را انجام دهند، کاربران میتوانند آنها را حذف کنند. اضافه کردن برنامههای دیگر، کاربران را مجبور میکند تا تصمیم بگیرند که کدام یک از آنها را برای صرفهجویی در مصرف داده انتخاب کنند.
همه توسعهدهندگان برنامه، از جمله تولیدکنندگان اصلی تجهیزات (OEM) و اپراتورهایی که برنامههای از پیش نصبشده دارند، باید برای پیادهسازی صرفهجویی در مصرف داده اقدام کنند. برای دستورالعملهای توسعهدهندگان برنامه در مورد تشخیص و نظارت بر وضعیت صرفهجویی در مصرف داده، به بخش صرفهجویی در مصرف داده در developer.android.com مراجعه کنید. برای جزئیات بیشتر که برای شرکا مفید است، به بخشهای زیر مراجعه کنید.
برای بهینهسازی حالت صرفهجویی در مصرف داده، برنامهها باید:
- تصاویر غیرضروری را حذف کنید
- برای تصاویر باقی مانده از وضوح پایین تر استفاده کنید
- از ویدیوهای با بیت ریت پایینتر استفاده کنید
- تجربیات «لایت» موجود را فعال کنید
- فشردهسازی دادهها
- حتی زمانی که حالت صرفهجویی داده خاموش است، به وضعیت شبکهی محدود در مقابل نامحدود احترام بگذارید
برعکس، برای اینکه برنامهها با Data Saver به خوبی کار کنند، نباید:
- ویدیوهای پخش خودکار
- پیشواکشی محتوا/پیوستها
- دانلود بهروزرسانیها/کدها
- درخواست قرار گرفتن در لیست سفید مگر اینکه دادههای پسزمینه واقعاً بخشی از عملکرد اصلی باشند
- با لیست سفید به عنوان مجوزی برای استفاده از پهنای باند بیشتر رفتار کنید
اعتبارسنجی
پیادهسازیکنندگان میتوانند با اجرای آزمون CTS زیر، از عملکرد صحیح نسخه خود از این ویژگی اطمینان حاصل کنند:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
علاوه بر این، میتوان از دستورات adb برای انجام تستها به صورت دستی استفاده کرد، برای این کار ابتدا این دستور را اجرا کنید تا همه گزینههای موجود را ببینید:
adb shell cmd netpolicy
برای مثال، این دستور UID های برنامههای موجود در لیست سفید را برمیگرداند:
adb shell cmd netpolicy list restrict-background-whitelist