اخبار محصول

افزایش کیفیت برنامه: کاهش استفاده از حافظه و بهبود انتقال دستگاه

۴ دقیقه مطالعه
مشاهده پروفایل راگاوندرا هاریش پوتامستی
Raghavendra Hareesh Pottamsetty ، مدیر کل، توسعه‌دهنده گوگل پلی و کسب درآمد

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

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

دوم، به عنوان بخشی از تعهد گسترده‌تر ما برای ارتقای کیفیت برنامه، ما در حال معرفی یک استاندارد جدید برای ورود به سیستم هستیم تا ورود به سیستم را در طول ارتقاء دستگاه ساده و ایمن کند.

کاهش استفاده از حافظه برنامه و بهینه سازی کدها

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

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

  • استفاده پویا از حافظه (RSS ناشناس + swap): این مورد، حافظه مورد استفاده برای ذخیره‌سازی داده‌های خصوصی برنامه شما، شامل حافظه فعال و فشرده را ردیابی می‌کند. فایل‌های ذخیره شده در دستگاه، مانند کد یا دارایی‌ها، را شامل نمی‌شود. ما این استفاده را در حالت‌های مختلف برنامه (مانند زمانی که برنامه شما در حال استفاده یا اجرا در پس‌زمینه است) و دسته‌های عملکرد دستگاه ارزیابی خواهیم کرد.
  • میزان استفاده از حافظه بیت‌مپ: این پارامتر، حافظه مصرف شده توسط بیت‌مپ‌ها را ارزیابی می‌کند. اگرچه بیت‌مپ‌ها وقتی برنامه شما در پیش‌زمینه است، حافظه را اشغال می‌کنند، اما نباید در حالت‌های غیرقابل مشاهده برنامه مانند پس‌زمینه و حافظه پنهان، برای مدت طولانی در حافظه نگه داشته شوند.
  • کد DEX بهینه شده: یک بسته نرم‌افزاری اندروید که به خوبی بهینه شده باشد، از حافظه کمتری استفاده می‌کند، سریع‌تر شروع می‌شود، ANRها را کاهش می‌دهد و عملکرد رندر و زمان اجرا را بهبود می‌بخشد. برای اطمینان از بهینه‌سازی ، برنامه‌های منتشر شده در گوگل پلی باید با حداقل ۲۵٪ پوشش در بهینه‌سازی، کوچک‌سازی و مبهم‌سازی با استفاده از ابزاری مانند R8 یا هر ابزار کوچک‌سازی دیگر بهینه شوند.  

برای درک بهتر تفاوت‌های کاربردی خاص برنامه‌ها و بازی‌ها، حجم رم و وضعیت پردازش‌ها، آستانه‌ها و جزئیات فنی را بررسی کنید .

ابزارهای جدید برای کمک به شما در انجام اقدامات لازم

برای اینکه بتوانید برنامه یا بازی خود را به صورت پیشگیرانه کشف، بررسی و بهینه کنید تا به آستانه‌های جدید رفتارهای بد برسید، ما در حال حاضر شروع به ارائه ابزارهای جدید در کنسول Play کرده‌ایم تا بتوانید شروع کنید.

  • عمیقاً به معیارهای جدید حافظه پویا بپردازید: میزان کلی استفاده از حافظه پویا (RSS + swap ناشناس) و میزان استفاده از حافظه بیت‌مپ را مستقیماً در Android Vitals رصد کنید. می‌توانید در صدک‌ها و بخش‌های مختلف رم جستجو کنید تا دقیقاً مشخص کنید که نفخ حافظه در کجا رخ می‌دهد.

معیارهای جدید حافظه در Android Vitals برای شناسایی و حل مشکل پر شدن حافظه

  • ردیابی خرابی‌های «کمبود حافظه»: ما یک فیلتر جدید برای خرابی‌ها و ANRها اضافه کرده‌ایم تا بتوانید به راحتی تشخیص دهید که چه زمانی سیستم عامل به دلیل فشار شدید بر حافظه دستگاه، برنامه شما را خاتمه داده است.
  • تجزیه و تحلیل بینش‌های بهینه‌سازی کد DEX: برای هر بسته برنامه جدیدی که در Play Console آپلود می‌کنید ، اکنون بینش‌های بهینه‌سازی دقیقی را ارائه می‌دهیم. اگر ابزار کوچک‌سازی شما، فراداده بهینه‌سازی را به اشتراک می‌گذارد، می‌توانید به راحتی کارایی کد خود را ارزیابی کرده و زمینه‌های بهبود را شناسایی کنید.
تصویر.png
بررسی بینش‌های بهینه‌سازی کد DEX در کنسول Play
  • دریافت هشدارهای پیشگیرانه عملکرد: وقتی برنامه یا بازی شما از آستانه‌های رفتار بد جدید فراتر رود، ما مستقیماً در صفحه نمای کلی Android Vitals هشداری ارائه خواهیم داد. همچنین اگر بیت‌مپ‌های بهینه‌سازی نشده، بهینه‌سازی محدود DEX یا استفاده محدود از بسته‌های تقسیم‌شده را در Android Vitals تشخیص دهیم، به شما هشدار داده می‌شود و به شما کمک می‌کند تا عملکرد و صرفه‌جویی بیشتری در حافظه داشته باشید.

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

جدول زمانی اجرا

از فوریه ۲۰۲۷، برنامه‌ها و بازی‌ها باید آستانه‌های رفتار بد مربوط به خود را برای استفاده از حافظه (RSS + Swap ناشناس)، استفاده از حافظه Bitmap و بهینه‌سازی کد DEX رعایت کنند. مشابه معیارهای موجود Android Vitals، عبور از آستانه‌ها، شاخص قوی از تجربه‌های ضعیف برنامه و خاتمه برنامه‌های اندروید روی دستگاه است.

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

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

ارائه یک تجربه مهاجرت امن و یکپارچه از دستگاه

وقتی کاربران به دستگاه جدیدی مهاجرت می‌کنند، انتقال برنامه‌هایشان باید امن و بدون دردسر باشد. برای ارائه یک تجربه کاربری بهتر، ما الزامی را برای توسعه‌دهندگان برنامه معرفی می‌کنیم تا ورود به سیستم را در حین انتقال دستگاه سریع‌تر و ایمن‌تر کنند.

استاندارد ورود بدون لمس (Zero-Tap Sign-In) هر برنامه‌ای را که از ورود کاربر، چه اختیاری و چه اجباری، پشتیبانی می‌کند، ملزم می‌کند تا هنگام انتقال کاربر از یک دستگاه اندروید به دستگاه دیگر، با استفاده از API بازیابی اعتبارنامه‌های اندروید (Android Restore Credentials API) ، وضعیت ورود کاربر را به طور خودکار بازیابی کند. این API تضمین می‌کند که وقتی کاربر برای اولین بار برنامه شما را در دستگاه اندروید جدید خود باز می‌کند، فوراً شناسایی شده و بدون لمس‌های اضافی، به طور ایمن وارد سیستم می‌شود.

از آوریل ۲۰۲۷، گوگل پلی از برنامه‌ها می‌خواهد که الزام ورود بدون لمس (Zero Tap Sign-In) را رعایت کنند تا قابلیت‌های انتشار کامل و نمایش بهینه در پلی استور حفظ شود.

اگرچه بازی‌ها در حال حاضر از الزام ورود بدون لمس (Zero-Tap Sign-In) معاف هستند، توسعه‌دهندگان باید انتظار راهنمایی‌های اختصاصی و راه‌حل‌های متناسب برای موارد استفاده پیچیده احراز هویت بازی را در سال ۲۰۲۷ داشته باشند. برای بازی‌هایی که از ورود تک‌حسابی پشتیبانی می‌کنند، ما اکیداً استفاده از API بازیابی اعتبارنامه‌ها (Restore Credentials API) را برای پشتیبانی از ورود بدون لمس (zero-tap sign-in) توصیه می‌کنیم. لطفاً برای اطلاعات بیشتر به مرکز راهنمایی ما مراجعه کنید.

نقشه راه خود را برنامه‌ریزی کنید: الزامات Play را بررسی کنید

با بررسی جزئیات هر الزام، آماده شدن برای مهلت‌های اجرایی پیش رو را آغاز کنید:

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

    ادامه مطلب