عملکرد در Wear OS یک ملاحظه اساسی برای برنامهها است، زیرا بسیاری از دستگاههای Wear OS در مقایسه با دستگاههای تلفن همراه بزرگتر، منابع CPU و GPU محدودی دارند. با معرفی انیمیشنهای غنیتر و جلوههای پویا در Material 3 Expressive، باید عملکرد گردشهای کاری کلیدی برنامه خود را اعتبارسنجی و بهبود بخشید.
برای پیکربندی و توسعه برنامه خود برای عملکرد بهینه با استفاده از Jetpack Compose، از راهنمای عملکرد Jetpack Compose استفاده کنید. این سند برخی از تکنیکهای شرح داده شده در آن راهنما را برجسته میکند.
استراتژیهای سنجش عملکرد را ایجاد و دنبال کنید تا تأیید کنید که این تکنیکها مطابق انتظار برای برنامه شما کار میکنند.
تکنیکهای اساسی بهبود عملکرد
با مؤثرترین انواع ابزارهای عملکرد شروع کنید: پروفایلهای پایه (شامل پروفایلهای راهاندازی) و بهینهساز کد R8.
وابستگی Compose خود را به نسخه ۱.۸ یا بالاتر بهروزرسانی کنید، که چندین ویژگی جدید قابل توجه را معرفی کرده و پایداری کلی کتابخانه را بهبود بخشیده است. برای یادگیری نحوه بهروزرسانی، به دستورالعملهای موجود در بخش «اعلان وابستگیها» مراجعه کنید. برای کسب اطلاعات بیشتر، وبلاگ ما در مورد نسخه ۱.۸ و بحث «چه چیزهای جدیدی در Compose I/O وجود دارد» را مطالعه کنید.
پروفایلهای پایه
برای بهبود عملکرد برنامه خود، از پروفایلهای پایه استفاده کنید. کلاسها و متدهایی را که نشاندهنده گردشهای کاری کلیدی برنامه شما هستند، گروهبندی کنید، که سیستم میتواند با استفاده از یک پروفایل پایه، آنها را از قبل کامپایل کند. این میتواند زمان راهاندازی را کاهش دهد، فریمهای نامنظم را کم کند و بهبودهای عملکردی بیشتری را ارائه دهد.
هر کتابخانه Jetpack Compose با قوانین پروفایل مخصوص به خود ارائه میشود. هنگامی که برنامه شما به یک کتابخانه وابسته است، قوانین پروفایل کتابخانه به طور خودکار با APK برنامه شما ادغام و برای پیشکامپایل توزیع میشوند.
پروفایلهای پایه خود را با استفاده از تکنیکهای زیر تأیید کنید:
- از تستهای ماکروبنچمارک استفاده کنید.
- از دستورات خاص ADB برای اعتبارسنجی وضعیت پیکربندی پروفایل برنامه خود استفاده کنید. مراحل هر دوی این تکنیکها در راهنمای اندازهگیری عملکرد و اعتبارسنجی توضیح داده شده است.
پروفایلهای استارتاپی
به عنوان زیرمجموعهای از پروفایلهای پایه، پروفایلهای راهاندازی، کلاسها و متدهای موجود در خود را بیشتر بهینه میکنند تا تأخیر راهاندازی برنامه را کاهش دهند.
اضافه کردن یک پروفایل راهاندازی، اندازه APK برنامه شما را افزایش میدهد، بنابراین قبل از اضافه کردن آن به نسخه اصلی، حتماً بین اندازه APK و تأخیر راهاندازی تعادل برقرار کنید.
برای شروع، ایجاد یک پروفایل استارتاپی را مطالعه کنید.
آر۸
از کامپایلر R8 برای کوچک کردن و بهینهسازی برنامهها استفاده کنید. R8 کدها و منابع بلااستفاده را حذف میکند، کدها را برای بهینهسازی عملکرد زمان اجرا بازنویسی میکند و موارد دیگر.
در راهنماهای بهبود عملکرد کلی ، ملاحظات مربوط به R8، از جمله مراحل کلیدی برای حذف منابع بلااستفاده را مطالعه کنید.
اندازهگیری و اعتبارسنجی عملکرد
برای آشنایی با استراتژیهای کلی اندازهگیری عملکرد در اندروید، به «مروری بر اندازهگیری عملکرد برنامه» مراجعه کنید. این بخش برخی از تکنیکهای مورد بحث در آن مستندات را شرح میدهد.
یک نوع ساخت برای اندازهگیریها انتخاب کنید
اگرچه حالت اشکالزدایی برای تشخیص بسیاری از مشکلات مفید است، اما هزینه عملکرد قابل توجهی را تحمیل میکند، از پروفایلهای پایه استفاده نمیکند و میتواند تشخیص مشکلات کد را که ممکن است بر عملکرد تأثیر بگذارند، دشوار کند.
برای درک دقیق عملکرد برنامه خود، برنامه خود را در حالت انتشار اجرا کنید.
نتیجهگیری نهایی در مورد عملکرد را فقط از آزمایشهای انجامشده با برنامههای در حال اجرا با گزینههای ساخت انتشار و روی دستگاههای واقعی بگیرید.
با این حال، هنگام آزمایش بنچمارک، از نسخه آزمایشی بنچمارک استفاده کنید که تفاوتهای کلیدی با اشکالزدایی نسخه آزمایشی دارد. برای جزئیات بیشتر به راهنمای راهاندازی Macrobenchmark مراجعه کنید.
پروفایلهای پایه برنامه خود را اعتبارسنجی کنید
با بررسی وضعیت پروفایل خود شروع کنید:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
اگر وضعیت status=speed-profile نباشد، هنوز قوانین پروفایل برای بهینهسازی برنامه اعمال نشدهاند.
قوانین با استفاده از یک کار پسزمینه که هنگام شارژ شدن و عدم فعالیت دستگاه اجرا میشود، اعمال میشوند. برای فعال کردن دستی این کار، دستور زیر را پس از راهاندازی برنامه و گذشت زمان کافی برای نصبکننده پروفایل جهت راهاندازی مجدد پروفایل در پسزمینه اجرا کنید. این فرآیند معمولاً حدود ۴۰ ثانیه طول میکشد.
adb shell cmd package bg-dexopt-job
سپس، دستور قبلی را دوباره اجرا کنید تا تأیید کنید که وضعیت speed-profile است.
برای موقعیتهایی که بهینهسازی در هنگام نصب رخ میدهد، به Sideload the baseline profile مراجعه کنید.
رابط برنامهنویسی خودکار رابط کاربری
رابط برنامهنویسی کاربردی UI Automator تعاملات را به صورت برنامهنویسی خودکار میکند. از این API برای ارزیابی بخشهای مجزای رابط کاربری هنگام بررسی سفر کاربر برای بهینهسازیهای بالقوه استفاده کنید.
تستهای ماکروبنچمارک
Macrobenchmarks موارد استفاده بزرگتری از برنامه شما، به خصوص شروع برنامه و دستکاریهای پیچیده رابط کاربری را آزمایش میکند. برای شروع، به راهنمای پیادهسازی مراجعه کنید.
برای مثالی از استفاده از ماکروبنچمارکها برای اعتبارسنجی عملکرد پروفایلهای پایه، به نمونههای عملکرد در GitHub مراجعه کنید.
کتابخانه JankStats
از کتابخانه JankStats برای ردیابی و تحلیل مشکلات عملکرد در برنامهها استفاده کنید.
برای مثال، به نمونه JankStats در GitHub مراجعه کنید.
ردیابی سیستم
با انواع انیمیشن جدید معرفی شده توسط Material 3 Expressive، از ویژگی System Trace در اندروید استودیو برای بررسی و تشخیص تأخیر در سفرهای کاربری بالقوه مشکلساز استفاده کنید. با این اطلاعات، محتوای پروفایلهای پایه خود را تأیید کنید و ناکارآمدیهای بالقوه در منطق کد خود را شناسایی کنید.
ابزارهای اضافی
علاوه بر ابزارهای بهبود عملکرد، میتوانید از ابزارهای دیگری نیز برای بهبود بهرهوری و گردش کار خود استفاده کنید.
ابزارهای بهرهوری اندروید استودیو
اندروید استودیو ابزارهای متعددی را ارائه میدهد که میتوانند مدت زمانی را که صرف شناسایی بهبودهای عملکرد میکنید، کاهش دهند.
برای مثال، با استفاده از ابزارهایی مانند Live Edit و Composable Previews ، میتوانید عناصر رابط کاربری ناکارآمد را به همراه نواحی مرتبط در کد برنامه خود شناسایی کنید تا عملکرد آن را بهبود بخشید.
تمام تستهای عملکرد نهایی را روی مجموعهای از دستگاههای فیزیکی Wear OS اجرا کنید که دقیقاً نمایانگر پایگاه کاربری هدف شما باشند.
این امر به ویژه هنگام مهاجرت به Material 3 Expressive که ویژگیهایی مانند فونتهای منعطف و تغییر شکل شکل را به برنامه شما معرفی میکند، اهمیت دارد.
اگر از Views مهاجرت میکنید، راهنمای مهاجرت و بهترین شیوههای ما برای عملکرد Jetpack Compose را بررسی کنید تا تأیید کنید که رابطهای کاربری برنامه شما هنگام استفاده از Jetpack Compose عملکرد خوبی دارند.
منابع دیگر
برای اطلاع از آخرین اخبار مربوط به عملکرد اندروید، به آخرین اخبار و ویدیوها در راهنمای عملکرد برنامه مراجعه کنید.