Jetpack Compose عملکرد عالی و آمادهای ارائه میدهد. برنامهتان را بااستفاده از روالهای مطلوب پیکربندی کنید تا از مشکلات رایج اجتناب کنید و عملکرد برنامه Compose خود را بهینهسازی کنید.
مهارتهای Android
مشاهده در GitHubعملکرد Jetpack Compose
android skills add jetpack-compose-performanceارزیابی مقایسهای Jetpack Compose
برای اعتبارسنجی عملکرد Jetpack Compose دربرابر Views، از محکهای قهرمان استفاده میکنیم—محکهایی که بر مسیرهای مهم و واقعی کاربر تمرکز دارند، مانند راهاندازی سرد برنامه یا پیمایش فهرست یا جدولی با تصاویر. ما این محکزنیها را بااستفاده از برنامه متنباز Pokedex انجام میدهیم و پیادهسازیهای نماها و Compose آن را مقایسه میکنیم.
این محکها نشان میدهند که Compose نسخه ۱.۹ و جدیدتر با عملکرد Views برای پرش تصویر هنگام پیمایش مطابقت دارد.
برای سنجههای بیشتر و آشنایی با روششناسیهای ما، معیارهای Hero را ببینید.
مفاهیم اصلی
اینها برخیاز مفاهیم کلیدی برای عملکرد در Compose هستند:
- فازها: درک فازهای ترکیببندی، چیدمان، و طراحی برای بهینهسازی نحوه بهروزرسانی میانای کاربر توسط Compose بسیار مهم است.
- نمایههای مبنا: این نمایهها کد ضروری را پیشکامپایل میکنند، که منجر به راهاندازی سریعتر برنامه و تعاملات روانتر میشود.
- پایداری: با نحوه مقایسه پارامترها توسط Compose درطول بازترکیب آشنا شوید تا بتوانید بدون معرفی بررسیهای برابری پرهزینه، از کارهای غیرضروری صرفنظر کنید.
پیکربندی صحیح برنامه
اگر عملکرد برنامهتان ضعیف است، ممکن است مشکل پیکربندی وجود داشته باشد. یک گام خوب اولیه، بررسی گزینههای پیکربندی زیر است:
- ساختن در «حالت انتشار» با R8: برنامه را در حالت انتشار اجرا کنید. حالت اشکالزدایی برای شناسایی بسیاری از مشکلات مفید است، اما هزینه عملکردی تحمیل میکند و میتواند شناسایی مشکلات دیگر را دشوار کند. همچنین باید بهینهسازی و کوچکسازی را با کامپایلر R8 فعال کنید تا مطمئن شوید که ساخت نسخه پخش کارآمد و مؤثری دارید.
- استفاده از Baseline Profiles: Baseline Profiles با پیشکامپایل کردن کد برای مسیرهای قطعی کاربر، عملکرد را بهبود میبخشد. Compose شامل یک نمایه پیشفرض است، اما در حالت ایدهآل، باید یک نمایه مختص برنامه نیز ایجاد کنید. درباره Baseline Profiles در اسناد عملکرد عمومی Android بیشتر بدانید
ابزارها
با مجموعه ابزارهای دردسترس برای کمک به اندازهگیری و تجزیهوتحلیل عملکرد برنامه Compose آشنا شوید.
روالهای مطلوب
هنگام توسعه برنامه با Compose، این روالهای مطلوب را درنظر داشته باشید:
- اجتناب از محاسبات پرهزینه: از
rememberبرای ذخیره نتایج محاسبات پرهزینه در حافظه نهان استفاده کنید. - کمک به چیدمانهای تنبل: پارامترهای پایدار
keyوcontentTypeرا برای چیدمانهای تنبل ارائه دهید تا بازترکیبهای غیرضروری را بهحداقل برسانید و امکان استفاده مجدد از جایگاه را فراهم کنید. - محدود کردن بازترکیبهای غیرضروری: از
computedStateOf(در Compose نسخه ۱.۱۳ و بالاتر) یاderivedStateOfبرای محدود کردن بازترکیبها هنگام خواندن وضعیت بهسرعت درحال تغییر استفاده کنید. - بهتعویق انداختن خواندن وضعیت: خواندن وضعیت را تا حد امکان با قرار دادن آنها در توابع لامبدا بهتعویق بیندازید.
- از اصلاحکنندههای لامبدا برای تغییر وضعیت استفاده کنید: از اصلاحکنندههای مبتنی بر لامبدا مانند
Modifier.offset { ... }برای متغیرهای وضعیت که مکرراً تغییر میکنند استفاده کنید. - از نوشتن معکوس اجتناب کنید: هرگز در وضعیتی که قبلاً در یک composable خوانده شده است، ننویسید.
برای جزئیات بیشتر، راهنمای روالهای مطلوب را ببینید.
بازدیدها
اگر بهجای Compose با نماها کار میکنید، راهنمای اختصاصی بهبود عملکرد چیدمان را ببینید.
منابع بیشتر
- راهنمای عملکرد برنامه: با روالهای مطلوب، کتابخانهها، و ابزارهای بهبود عملکرد در Android آشنا شوید.
- Inspect Performance: عملکرد برنامه را بازرسی کنید.
- محکزنی: محکزنی عملکرد برنامه.
- راهاندازی برنامه: راهاندازی برنامه را بهینهسازی کنید.
- نمایههای مبنا: با نمایههای مبنا آشنا شوید.