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

کاملاً بهینه شده: جمع بندی عملکرد هفته ویژه

۳ دقیقه مطالعه
Ben Weiss و Sara Hamilton

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

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

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

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

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

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

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

تصویر.png

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

تصویر.png

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

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

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

پروفایل‌های پایه (Baseline Profiles) به طور موثری نیاز به کامپایل درجا (Just in Time Compilation) را از بین می‌برند و سرعت راه‌اندازی، پیمایش، انیمیشن و عملکرد کلی رندر را بهبود می‌بخشند. پروفایل‌های راه‌اندازی (Startup Profiles) با ایجاد یک ترتیب هوشمند در فایل‌های classes.dex برنامه شما، راه‌اندازی برنامه را حتی سبک‌تر می‌کنند.

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

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

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

اندازه‌گیری عملکرد می‌تواند به راحتی ۱، ۲، ۳ باشد

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

با شروع از سطح ۱ ، به شما آموزش می‌دهیم که چگونه از داده‌های موجود در Android Vitals استفاده کنید، که داده‌های میدانی در مورد ANRها، خرابی‌ها و استفاده بیش از حد باتری را در اختیار شما قرار می‌دهد.

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

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

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

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

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

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

قوانین محدودکننده

روز سه‌شنبه، ما قوانین Keep مورد نیاز برای رفع خرابی‌های زمان اجرا را رفع ابهام کردیم و بر نوشتن قوانین خاص و در سطح اعضا به جای استفاده از wildcardهای بیش از حد کلی تأکید کردیم. و از آنجایی که این موضوع مهمی است، یک ویدیو نیز برای شما تهیه کردیم.

و با بررسی جدید پرز برای قوانین Keep گسترده، افزونه‌ی Android Studio Otter 3 Feature Drop این مورد را نیز پوشش می‌دهد.

تصویر.png

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

در وبلاگ سه‌شنبه ما بیشتر بخوانید: پیکربندی و عیب‌یابی R8 Keep Rules

پیشینه کار

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

Background Task Inspector به شما یک نمایش بصری و نمودار از وظایف WorkManager ارائه می‌دهد و به اشکال‌زدایی دلیل تأخیر یا شکست کار برنامه‌ریزی‌شده کمک می‌کند. و صفحه فرود مستندات Background Work که به‌روزرسانی شده است، APIهای مختص وظیفه را که برای موارد استفاده خاص بهینه شده‌اند، برجسته می‌کند و به شما در دستیابی به اجرای قابل اعتمادتر کمک می‌کند.

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

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

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

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

از اینکه به ما پیوستید متشکریم! حالا، شروع به ساختن کنید و این حرکت رو به جلو رو ادامه بدید.

    نوشته شده توسط:

    ادامه مطلب