گوگل دو الزام جدید کیفیت برای اپ‌های فروشگاه Play اعلام کرده که یکی به‌صورت مستقیم مصرف حافظهٔ برنامه‌ها را هدف گرفته است. این تغییر پاسخی به کمبود جهانی ماژول‌های حافظه است که تحت‌تأثیر رشد مراکز دادهٔ هوش مصنوعی قرار گرفته‌اند و روی حافظهٔ دستگاه‌ها، به‌ویژه در گوشی‌های پایین‌رده، اثر می‌گذارند.

چرا حافظه محدود می‌شود؟

افزایش تقاضا برای حافظه در مراکز دادهٔ هوش مصنوعی، تولید و دسترسی به ماژول‌های حافظه را تحت فشار قرار داده است. نتیجه آن، تغییر در دسترسی به حافظهٔ دستگاه‌ها و احتمال کاهش کیفیت تجربهٔ کاربر در دستگاه‌های کم‌حافظه است. بازار موبایل باید با این سناریوی کمبود سازگار شود تا اپ‌ها روی گسترهٔ وسیع‌تری از دستگاه‌ها قابل‌قبول اجرا شوند. برای مرور بحران جهانی تراشه‌ها می‌توانید به صفحهٔ Wikipedia دربارهٔ 2020s chip shortage مراجعه کنید.

آستانه‌ها و الزامات جدید

  • آستانه‌های عملکردی جدید برای معیارهایی مانند مصرف دینامیک حافظه و استفاده از بیت‌مپ‌ها وضع می‌شود.
  • الزامات بهینه‌سازی کد اضافه شده تا از کندی، نشتی حافظه و کرش‌ها جلوگیری شود.
  • ابزارهای هشداردهنده برای اطلاع توسعه‌دهندگان هنگام عبور اپ از آستانه‌ها عرضه خواهد شد و قابلیت‌های تشخیصی پیشرفته‌تر مانند ویژگی Memory Limiter طی سال جاری ارائه می‌شود.

مهلت‌ها و الزام ورود خودکار کاربر

توسعه‌دهندگان تا فوریهٔ ۲۰۲۷ زمان دارند اپ‌ها را با آستانه‌های جدید حافظه تطبیق دهند. علاوه بر این، همهٔ اپ‌های فروشگاه Play ملزم خواهند شد تا هنگام مهاجرت دستگاه‌ها تا آوریل ۲۰۲۷ استاندارد ورود خودکار (Zero Tap Sign-In) را پیاده‌سازی کنند. به‌عبارت دیگر، اپ‌هایی که ورود کاربر دارند باید با استفاده از Android Restore Credentials API وضعیت ورود را به‌صورت خودکار بازیابی کنند. برای جزئیات فنی به مستندات رسمی Android Developers مراجعه کنید.

تأثیر بر توسعه‌دهندگان و کاربران

مهم‌ترین پیام‌های این تغییرات:

  1. کاربران دستگاه‌های اقتصادی انتظار دارند اپ‌ها سبک‌تر اجرا شوند تا تجربهٔ روزمرهٔ تلفن کاهش نیابد.
  2. توسعه‌دهندگان باید رفتار مصرف حافظهٔ اپ را از هم‌اکنون پایش و بهینه‌سازی کنند تا از حذف یا کاهش رتبه در Play Store جلوگیری شود.

راهنمای عملی برای بهینه‌سازی حافظه اپ‌های اندروید

چند گام ملموس و سریع برای کاهش مصرف و بهبود پایداری اپ:

پروفایل حافظه و شناسایی مشکلات

  • از Memory Profiler در Android Studio برای شناسایی نشت حافظه، اوج‌های مصرف و نقاط مشکل‌ساز استفاده کنید. راهنمای مرتبط در صفحهٔ حافظهٔ Android موجود است.
  • جمع‌آوری heap dump و آنالیز آن با ابزارهایی مثل MAT یا Android Studio به تعیین منابع نشتی کمک می‌کند.

کاهش مصرف بیت‌مپ‌ها و مدیریت تصاویر

  • تصاویر را مطابق اندازهٔ نمایش بارگذاری کنید و از فرمت‌های فشرده مناسب بهره ببرید.
  • بارگذاری تنبل (lazy loading)، اندازه‌گیری پیش از بارگذاری و کش صحیح حافظهٔ تصویری را پیاده‌سازی کنید.

مدیریت چرخهٔ زندگی و مراجع

  • از قطعات Lifecycle-aware، ViewModel و Kotlin coroutines برای جلوگیری از نگهداری مراجع غیرضروری استفاده کنید.
  • اشتراک‌ها و callbackها را در زمان مناسب لغو کنید تا منابع آزاد شوند.

بهینه‌سازی کتابخانه‌ها و وابستگی‌ها

  • فقط ماژول‌های ضروری را وارد کنید و وزن کتابخانه‌ها را ارزیابی کنید؛ در صورت لزوم نسخه‌های سبک‌تر یا جایگزین را انتخاب کنید.

کنترل بار پردازشی پس‌زمینه

  • کارهای پس‌زمینه، سرویس‌های بلندمدت و زمان‌بندی‌های غیرضروری را محدود کنید تا حافظهٔ آزاد بیشتری نگه داشته شود.

ابزارها، هشدارها و گزارش‌دهی

گوگل اعلام کرده ابزارهای هشداردهنده به‌زودی در دسترس قرار می‌گیرند و به‌تدریج قابلیت‌های تشخیصی بیشتری مانند Memory Limiter اضافه خواهد شد تا توسعه‌دهندگان پیش از بروز مشکل بتوانند مصرف حافظه را کنترل کنند. دنبال‌کردن این هشدارها و اعمال توصیه‌ها از تجربهٔ نامطلوب کاربر و امتیازدهی منفی در Play Store جلوگیری می‌کند.

نکته برای تیم‌های محصول

تیم‌های مسئول محصول و توسعه که مخاطب‌شان بازارهای حساس به قیمت است، باید طراحی حافظه‌محور را بازنگری و برنامهٔ به‌روزرسانی‌ها را زمان‌بندی کنند. این فرصت مناسبی است تا اپ‌ها سبک‌تر، پایدارتر و سازگار با طیف وسیع‌تری از دستگاه‌ها شوند.

برای دریافت جزئیات فنی و مستندات رسمی به Android Developers مراجعه کنید.