نوشتن عملکرد در Wear OS
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
عملکرد در Wear OS یک برنامه ضروری است، زیرا بسیاری از دستگاههای Wear OS منابع CPU و GPU محدودی در مقایسه با دستگاههای تلفن همراه بزرگتر دارند. میتوانید از دانش خود از Jetpack Compose برای پیکربندی و توسعه برنامه خود برای بهبود عملکرد با Compose for Wear OS استفاده کنید، زیرا بسیاری از تکنیکها مشابه هستند. با این حال، مهم است که بدانید چگونه عملکرد برنامه خود را در Wear OS آزمایش کنید.
برای درک بهتر مفاهیم عملکرد، بهترین شیوههای عملکرد را تماشا کنید و برنامههای زیبا و کارآمد برای Wear OS در YouTube ایجاد کنید .
تکنیک هایی برای بهبود عملکرد
برای درک دقیق عملکرد برنامه، سعی کنید برنامه خود را در حالت انتشار اجرا کنید. حالت Debug برای شناسایی بسیاری از مشکلات مفید است، اما هزینه عملکرد قابل توجهی را تحمیل می کند و می تواند تشخیص سایر مشکلات کد را که ممکن است به عملکرد آسیب برساند دشوار کند. علاوه بر این، حالت اشکال زدایی از پروفایل های پایه استفاده نمی کند، که می تواند عملکرد را بیشتر بدتر کند. همچنین باید از کامپایلر R8 برای کوچک کردن و بهینه سازی اپلیکیشن خود استفاده کنید. برای اطلاعات بیشتر در مورد حذف منابع استفاده نشده، به کوچک کردن منابع خود مراجعه کنید.
با ابزارهای Android Studio از جمله Live Edit، Composable Preview و Wear OS شبیه ساز آشنا شوید. این می تواند مدت زمان صرف شده برای اشکال زدایی برنامه شما در ساعت را کاهش دهد که می تواند بهره وری شما را بهبود بخشد. Android Studio با یک ساعت AVD عرضه می شود. با پیشنمایشهای نوشتن و ویرایش زنده آزمایش کنید تا زمانی که برنامهتان تا حد زیادی مطابق انتظار کار کند، سپس برای بازتاب دقیق عملکرد برنامهتان، روی دستگاه تست کنید.
از کتابخانه JankStats برای پیگیری و تجزیه و تحلیل مشکلات عملکرد در برنامه های خود استفاده کنید. برای مثال، نمونه JankStats را در GitHub ببینید.
از پروفایل پایه استفاده کنید
با تعریف کلاسها و روشهای مورد نیاز در سفرهای حیاتی کاربر ، از نمایه خط پایه برای بهبود عملکرد برنامه خود استفاده کنید . برای راهنمای عمیق در مورد این موضوع، به نمایه های پایه مراجعه کنید. هر کتابخانه Compose for Wear OS با قوانین نمایه خاص خود ارائه می شود. وقتی برنامه شما به یک کتابخانه وابسته است، قوانین نمایه کتابخانه به طور خودکار با APK برنامه شما ادغام و توزیع می شوند و زودتر از موعد در دستگاه کامپایل می شوند. این می تواند زمان راه اندازی را کاهش دهد، فریم های janky را کاهش دهد، و در غیر این صورت عملکرد را بهبود بخشد.
اگر میخواهید نمایه خود را برای یک برنامه تعریف کنید، با نوشتن تستهای ماکرو بنچمارک بررسی کنید که عملکرد آن را بهبود میبخشد. برای مثال، نمونههای عملکرد در GitHub را ببینید.
دستورات پروفایل پایه
دستورات مفیدی وجود دارد که می توانید برای کمک به کار با پروفایل های پایه استفاده کنید. ابتدا با اجرای موارد زیر وضعیت پروفایل خود را مشخص کنید:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
اگر وضعیت status=speed-profile
نیست، قوانین هنوز برای بهینه سازی برنامه اعمال نشده اند.
قوانین نمایه Compose for Wear OS با استفاده از یک کار پسزمینه اعمال میشوند که وقتی دستگاه شارژ و بیحرکت است اجرا میشود. میتوانید پس از راهاندازی برنامه و سپری شدن زمان کافی برای راهاندازی نمایه در پسزمینه به نصبکننده نمایه، به صورت دستی این کار را با اجرای دستور زیر فعال کنید. این معمولاً حدود 40 ثانیه طول می کشد.
adb shell cmd package bg-dexopt-job
سپس می توانید دستور قبلی را مجدداً اجرا کنید تا بررسی کنید که وضعیت اکنون speed-profile
است.
برای موقعیتهایی که بهینهسازی در هنگام نصب انجام میشود، به نمایه خط پایه Sideload مراجعه کنید.
{% کلمه به کلمه %}
{% آخر کلمه %} برای شما توصیه می شود
{% کلمه به کلمه %} {% آخر کلمه %}
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-27 بهوقت ساعت هماهنگ جهانی."],[],[],null,["Performance on Wear OS is an essential app consideration, as many Wear OS\ndevices have limited CPU and GPU resources compared to larger mobile devices.\nYou can use your knowledge from [Jetpack Compose](/jetpack/compose/performance) to configure and develop\nyour app to improve performance with Compose for Wear OS, as many of the\ntechniques are similar. However, it's important to understand how to test your\napp's performance on Wear OS.\n\nTo better understand performance concepts, watch\n[Performance best practices](https://www.youtube.com/watch?v=EOQB8PTLkpY) and\n[Create beautiful, power efficient apps for Wear OS](https://www.youtube.com/watch?v=jpUVamtoKOs&t=1052s) on YouTube.\n\nTechniques to improve performance\n\nTo accurately understand your app's performance, try running your app in\n[release mode](/studio/run#changing-variant). Debug mode is useful for spotting lots of problems, but it\nimposes a significant performance cost, and can make it hard to spot other code\nissues that might be hurting performance. In addition, debug mode does not use\nbaseline profiles, which can further deteriorate performance. You should also\nuse the [R8 compiler](/studio/build/shrink-code) to shrink and optimize your app. For more information\non removing unused resources, see [Shrink your resources](/studio/build/shrink-code#shrink-resources).\n\nFamiliarize yourself with [Android Studio tools](/jetpack/compose/tooling)\nincluding Live Edit, Composable Preview, and Wear OS emulator. This can reduce\nthe amount of time spent debugging your app on a watch, which can improve your\nproductivity. Android Studio ships with a watch AVD. Test with Compose Previews\nand Live Edit until your app is largely working as expected, then test on a\ndevice for an accurate reflection of your app's performance.\n\nUse the [JankStats library](/topic/performance/jankstats) to track and analyze\nperformance problems in your applications. For an example, see the\n[JankStats sample](https://github.com/android/performance-samples/tree/main/JankStatsSample) on GitHub.\n\nUse a baseline profile\n\n[Use a baseline profile](/jetpack/compose/performance#use-baseline) to improve your app's performance by defining\nclasses and methods needed on critical user journeys. For an in depth guide on\nthis topic, see [Baseline profiles](/topic/performance/baselineprofiles). Each\nCompose for Wear OS library ships with its own profile rules. When your app\ndepends on a library, the library profile rules are automatically merged and\ndistributed with your app's APK and are compiled ahead of time on device. This\ncan reduce start-up times, cut down janky frames, and otherwise improve\nperformance.\n\nIf you choose to define your own profile for an app, verify that it does\nimprove performance by writing Macrobenchmark tests.\nFor an example, see\n[Performance samples](https://github.com/android/performance-samples/blob/main/MacrobenchmarkSample/baseBenchmarks/src/main/java/com/example/benchmark/macro/base/startup/StartupBenchmark.kt) on GitHub.\n\nBaseline profile commands\n\nThere are some useful commands you can use to help working with baseline\nprofiles. First, determine the status of your profile by running the\nfollowing: \n\n adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME\n\nIf the status is not `status=speed-profile`, the rules have not yet been applied\nto optimize the app.\n\nCompose for Wear OS profile rules are applied using a background job which runs\nwhen the device is charged and idle. You can manually trigger this by running\nthe following command after the app has been launched and enough time has passed\nto allow the profile-installer to bootstrap the profile in the background. This\ntypically takes around 40 seconds. \n\n adb shell cmd package bg-dexopt-job\n\nYou can then re-run the previous command to check that the status is now\n`speed-profile`.\n\nFor situations when the optimisation is performed at install, see\n[Sideload the baseline profile](/topic/performance/baselineprofiles#measuring-baseline).\n\nRecommended for you\n\n- Note: link text is displayed when JavaScript is off\n- [Overview of measuring app performance](/topic/performance/measuring-performance)"]]