رویدادها و برنامه‌ها

کاملاً بهینه‌شده: جمع‌بندی هفته «برجسته کردن عملکرد»

‫۳ دقیقه برای خواندن
مشاهده نمایه بن وایس مشاهده نمایه چارلز مانگر
Ben Weiss و Sara Hamilton

هفته گذشته را صرف بررسی عمیق هم‌رسانی روال‌های مطلوب و راهنمایی‌هایی کردیم که به سریع‌تر، کوچک‌تر، و پایدارتر شدن برنامه‌های Android کمک می‌کند. از قدرت‌های بنیادی بهینه‌ساز R8 و بهینه‌سازی‌های هدایت‌شده نمایه گرفته تا بهبودهای عملکرد با Jetpack Compose و راهنمای جدید برای ارتقای عملکرد برنامه‌تان، ابزارهای کم‌تلاش و پرتأثیر را که برای ساختن برنامه‌ای با عملکرد بالا نیاز دارید پوشش داده‌ایم.

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

استفاده از بهینه‌ساز R8 برای افزایش سرعت برنامه

تأثیرگذارترین تغییر با کمترین تلاش که می‌توانید انجام دهید، فعال کردن کامل بهینه‌ساز R8 است. این ابزار نه‌تنها اندازه برنامه را کاهش می‌دهد، بلکه بهینه‌سازی‌های عمیق و سراسری در برنامه انجام می‌دهد تا کد شما را به‌طور اساسی برای افزایش کارایی بازنویسی کند. قوانین Keep را دوباره بررسی کنید و R8 را به تکالیف مهندسی‌تان برگردانید.

سند به‌روزشده و گسترش‌یافته جدید ما درباره بهینه‌ساز R8 برای کمک به شما آماده است.

Reddit پس‌از فعال کردن حالت کامل R8، شاهد راه‌اندازی سرد ۴۰٪ سریع‌تر و ۳۰٪ خطای ANR کمتر بود.

می‌توانید مطالعه موردی کامل را در وبلاگ ما بخوانید.

تصویر.png

مهندسان Disney+ روی عملکرد برنامه سرمایه‌گذاری می‌کنند و درحال بهینه‌سازی تجربه کاربری برنامه هستند. گاهی اوقات حتی تغییرات به‌ظاهر کوچک می‌تواند تأثیر بزرگی داشته باشد. تیم درحین بررسی پیکربندی R8 خود متوجه شد که از پرچم -dontoptimize استفاده می‌شود. پس‌از فعال کردن بهینه‌سازی‌ها با برداشتن این پرچم، تیم Disney+‎ بهبودهای قابل‌توجهی در عملکرد برنامه‌شان مشاهده کردند.

تصویر.png

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

در وبلاگ روز اول ما بیشتر بخوانید: استفاده از R8 برای کوچک کردن، بهینه‌سازی، و تسریع برنامه

راهنمایی شما برای عملکرد بهتر

Baseline Profiles نیاز به کامپایل «درست به‌موقع» را به‌طور مؤثری برطرف می‌کند و سرعت راه‌اندازی، پیمایش، پویانمایی، و عملکرد کلی پرداز را بهبود می‌بخشد. نمایه‌های راه‌اندازی با ایجاد ترتیبی هوشمند در فایل‌های classes.dex برنامه، راه‌اندازی برنامه را حتی سبک‌تر می‌کنند.

و برای کسب اطلاعات بیشتر درباره اهمیت Baseline Profiles برای عملکرد برنامه، وبلاگ مهندسی Meta را بخوانید که در آن توضیح داده شده است Baseline Profiles چگونه سنجه‌های عملکرد حیاتی مختلف را در برنامه‌هایشان تا ۴۰٪ بهبود بخشیده است.

ما همچنان به بهبود عملکرد Jetpack Compose برای شما در Jetpack Compose 1.10 ادامه می‌دهیم. ویژگی‌هایی مانند ترکیب‌بندی قابل‌توقف و پنجره حافظه نهان قابل‌سفارشی‌سازی برای حفظ لرزش پیمایش صفر هنگام کار با موارد فهرست پیچیده بسیار مهم هستند.به جدیدترین قسمت از #TheAndroidShow نگاهی بیندازید که در آن این موضوع را با جزئیات بیشتر توضیح می‌دهیم.

در وبلاگ چهارشنبه ما بیشتر بخوانید: ملاحظات عملکرد عمیق‌تر

سنجش عملکرد می‌تواند مثل آب خوردن باشد

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

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

همچنین به شما آموزش می‌دهیم که چطور سطح خود را ارتقا دهید. برای مثال، نشان خواهیم داد که چگونه بااستفاده از Jetpack Macrobenchmark و UiAutomator 2.4 API جدید، با آزمایش عملکرد محلی به سطح ۳ برسید تا هرگونه تغییر در عملکرد برنامه‌تان را به‌طور دقیق اندازه‌گیری و درستی‌سنجی کنید.

در وبلاگ پنجشنبه ما بیشتر بخوانید: [پیوند به وبلاگ پنجشنبه: راهنمای تراز کردن برای سفر عملکرد شما]

عملکرد اشکال‌زدایی به‌تازگی ارتقا یافته است

بهینه‌سازی پیشرفته نباید به‌معنای گزارش‌های خرابی ناخوانا باشد. ویژگی‌های جدیدی طراحی شده‌اند تا به شما کمک کنند با اطمینان R8 و کار پس‌زمینه را اشکال‌زدایی کنید:

ردیابی خودکار Logcat

از Android Studio Narwhal، ردیابی‌های پشته را می‌توان به‌طور خودکار در پنجره Logcat ابهام‌زدایی کرد. به‌این‌ترتیب می‌توانید فوراً هرگونه خرابی را در ساخت آماده تولید ببینید و اشکال‌زدایی کنید.

قوانین محدود کردن Keep

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

و با بررسی جدید lint برای «قوانین نگهداری» گسترده، «نوویژگی Otter 3 استودیو Android» در اینجا نیز شما را تحت پوشش قرار می‌دهد.

تصویر.png

همچنین راهنمای جدیدی درباره آزمایش و عیب‌یابی پیکربندی R8 منتشر کردیم تا به شما کمک کنیم پیکربندی را با اطمینان به‌درستی انجام دهید.

در وبلاگ سه‌شنبه ما بیشتر بخوانید: پیکربندی و عیب‌یابی قوانین حفظ R8

کار پس‌زمینه‌ای

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

نظارتگر وظایف پس‌زمینه نمایش تصویری و نمای نموداری از وظایف WorkManager را به شما ارائه می‌دهد و به اشکال‌زدایی دلیل تأخیر یا ناموفق بودن کار زمان‌بندی‌شده کمک می‌کند. و صفحه مقصد اسناد «کار در پس‌زمینه» که به‌روز شده است میاناهای برنامه‌سازی کاربردی مختص تکلیف را که برای موارد استفاده خاص بهینه‌سازی شده‌اند برجسته می‌کند و به شما کمک می‌کند اجرای قابل‌اعتمادتری داشته باشید.
 

در وبلاگ چهارشنبه ما بیشتر بخوانید: ملاحظات عملکرد کار پس‌زمینه

بهینه‌سازی عملکرد فرایندی مستمر است

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

هفته را با جلسه پرسش و پاسخ AskAndroid Live# به پایان رساندیم، جایی که مهندسان به سخت‌ترین سؤالات شما درباره R8، بهینه‌سازی‌های هدایت‌شده نمایه، و موارد دیگر پاسخ دادند. اگر آن را ازدست دادید، بازپخش را تماشا کنید!

از اینکه به ما پیوستید سپاس‌گزاریم! اکنون، شروع به ساختن کنید و این روند مثبت را ادامه دهید.

نویسنده:
ادامه خواندن