اخبار محصول

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

زمان خواندن: ۴ دقیقه
مشاهده نمایه Raghavendra Hareesh Pottamsetty
Raghavendra Hareesh Pottamsetty مدیرکل، توسعه‌دهنده و درآمدزایی Google Play

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

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

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

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

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

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

  • استفاده از حافظه پویا (RSS ناشناس + فضای مبادله): این معیار حافظه استفاده‌شده برای ذخیره‌سازی داده‌های خصوصی برنامه‌تان را ردیابی می‌کند، ازجمله حافظه فعال و فشرده‌شده. این اندازه شامل فایل‌های ذخیره‌شده در دستگاه، مثل کد یا دارایی‌ها، نمی‌شود. این استفاده را در وضعیت‌های مختلف برنامه (مثلاً وقتی برنامه‌تان درحال استفاده است یا در پس‌زمینه اجرا می‌شود) و دسته‌های عملکرد دستگاه ارزیابی خواهیم کرد.
  • استفاده از حافظه بیت‌مپ: این معیار حافظه مصرف‌شده توسط بیت‌مپ‌ها را ارزیابی می‌کند. درحالی‌که بیت‌مپ‌ها وقتی برنامه‌تان در پیش‌زمینه است حافظه را اشغال می‌کنند، نباید برای مدت طولانی در وضعیت‌های نامرئی برنامه مانند پس‌زمینه و حافظه نهان در حافظه نگهداری شوند.
  • کد DEX بهینه‌سازی‌شده:  «دسته برنامه Android» که به‌خوبی بهینه‌سازی شده باشد از حافظه کمتری استفاده می‌کند، سریع‌تر شروع می‌شود، خطاهای «برنامه پاسخ نمی‌دهد» را کاهش می‌دهد، و عملکرد زمان اجرا و پردازش را بهبود می‌بخشد. برای اطمینان از بهینه‌سازی ردپا، برنامه‌های منتشرشده در Google Play باید با حداقل ۲۵٪ پوشش در بهینه‌سازی، کوچک‌سازی، و مبهم‌سازی بااستفاده از ابزاری مانند R8 یا هر ابزار کوچک‌سازی دیگری بهینه‌سازی شوند.     

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

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

برای اینکه بتوانید به‌طور پیش‌کنشی برنامه‌تان را کاوش، بررسی، و بهینه‌سازی کنید تا با آستانه‌های جدید عملکرد بد مطابقت داشته باشد، ازقبل شروع به عرضه ابزارهای جدیدی در «کنسول Play» کرده‌ایم تا بتوانید کارتان را شروع کنید.    

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

سنجه‌های جدید حافظه در «معیارهای کلیدی Android» برای شناسایی و حل مشکل تورم حافظه

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

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

خط زمان اجرا

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

برنامه‌ها و بازی‌هایی که این آستانه‌ها را برآورده نکنند ممکن است با کاهش رؤیت‌پذیری برنامه و قابلیت‌های انتشار در Google Play مواجه شوند. جزئیات بیشتر اواخر امسال ارائه خواهد شد. 

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

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

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

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

از آوریل ۲۰۲۷، Google Play از برنامه‌ها می‌خواهد که برای حفظ قابلیت‌های کامل انتشار و رؤیت‌پذیری بهینه در «فروشگاه Play»، الزامات «ورود به سیستم با یک ضربه» را برآورده کنند.

درحال‌حاضر بازی‌ها از الزام «ورود به سیستم با یک ضربه» معاف هستند، اما توسعه‌دهندگان باید منتظر راهنمایی اختصاصی و راه‌حل‌های سفارشی برای موارد استفاده پیچیده از اصالت‌سنجی بازی در سال ۲۰۲۷ باشند.  برای بازی‌هایی که از ورود به سیستم با یک حساب پشتیبانی می‌کنند، اکیداً توصیه می‌کنیم از Restore Credentials API برای پشتیبانی از ورود به سیستم با صفر ضربه استفاده کنید. برای اطلاعات بیشتر، لطفاً به مرکز راهنمایی ما مراجعه کنید.

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

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

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

ادامه خواندن