ProfilingManager API به شما امکان میدهد نمایههای عملکرد کاربر واقعی،
مانند ردیابیهای سیستم و رونوشتهای پشته Java را از دستگاههای تولیدی که
Android 15 (سطح میانای برنامهسازی کاربردی ۳۵) و بالاتر را اجرا میکنند جمعآوری کنید. این ابزار از دو سازوکار جمعآوری پشتیبانی میکند:
نمایههای تحتکنترل برنامه که در آن برنامه شما جمعآوری نمایه را از
شروع تا توقف کنترل میکند (Android 15 و بالاتر) و نمایههای مبتنی بر راهانداز که در آن
سیستم در پاسخ به رویدادهایی که در Android 16 (سطح API ۳۶) و بالاتر به آنها علاقه نشان میدهید،
ضبط را مدیریت میکند.
این راهنما موضوعات زیر را پوشش میدهد:
- ضبط نمایهها: نحوه شروع و توقف ضبط نمایه برنامه-محور و نحوه ثبتنام برای ضبط نمایه راهانداز-محور.
- بازیابی و بارگذاری نمایهها: نحوه بازیابی نمایهها بهصورت محلی
با
adbیا بارگذاری آنها در پسزمینه باWorkManager. - تجزیهوتحلیل نمایهها: نحوه تجسم نمایهها در واسط کاربر Perfetto، پرسوجو کردن نمایهها با PerfettoSQL، تجزیهوتحلیل انبوه ردگیریها، و تجزیهوتحلیل نمایهها با هوش مصنوعی.
- مطالعات موردی اشکالزدایی: نحوه اعمال
ProfilingManagerسرتاسر برای اشکالزدایی ANR و اشکالزدایی خرابی کمبود حافظه. - محدود کردن نرخ و رفتار جمعآوری: نحوه درک محدود کردن نرخ و رفتار جمعآوری در تولید.
- اشکالزدایی محلی: نحوه استفاده از فرمانهای اشکالزدایی برای نمایهسازی محلی.
انواع نمایه پشتیبانیشده
ProfilingManager از جمعآوری چندین نوع نمایه پشتیبانی میکند تا بتوانید
مشکلات عملکردی خاصی را در برنامهتان هدف قرار دهید. میتوانید درخواستها را
مستقیماً بااستفاده از میاناهای برنامهسازی کاربردی پلاتفرم یا بااستفاده از سازندگان AndroidX Core پیکربندی کنید:
- ردیابیهای سیستم: بااستفاده از
PROFILING_TYPE_SYSTEM_TRACEیاSystemTraceRequestBuilderضبط شده است.- برای تشخیص لرزش، تجزیهوتحلیل تأخیر، و اشکالزدایی عملکرد کلی مفید است.
- رونوشتهای پشته جاوا: بااستفاده از
PROFILING_TYPE_JAVA_HEAP_DUMPیاJavaHeapDumpRequestBuilderضبط شده است.- عکس آنی از نمودار شیء پشته جاوا و اندازههای برنامه شما برای تشخیص نشت حافظه و بهینهسازی حافظه میگیرد.
- نمایههای پشته: بااستفاده از
PROFILING_TYPE_HEAP_PROFILEیاHeapProfileRequestBuilderضبط شده است.- تخصیصهای حافظه محلی (یا Java بهصورت اختیاری) را درطول زمان ردیابی میکند تا به بهینهسازی استفاده از حافظه کمک کند.
- نمونهگیری پشته: بااستفاده از
PROFILING_TYPE_STACK_SAMPLINGیاStackSamplingRequestBuilderضبط شده است.- پشتههای فراخوانی رشته را نمونهبرداری میکند تا به شما کمک کند اجرای کد را درک کنید و استفاده از CPU را تجزیهوتحلیل کنید.
یکپارچهسازی ProfilingManager با عامل هوشوارهای
میتوانید از عامل کدنویسی هوش مصنوعی برای ادغام کردن ProfilingManager در برنامهتان استفاده کنید.
برای مثال، پیامواره زیر را در عامل کدنویسی هوش مصنوعیتان اجرا کنید تا
مجموعه راهانداز «برنامه پاسخ نمیدهد» (ANR) را راهاندازی کنید،
</path/to/codebase> را با مسیر برنامهتان جایگزین کنید:
Read https://developer.android.com/topic/performance/tracing/profiling-manager/trigger-based-capture
and https://developer.android.com/topic/performance/tracing/profiling-manager/upload-worker
and integrate ProfilingManager ANR trigger collection (TRIGGER_TYPE_ANR) into my
app at </path/to/codebase>, including registering the result listener after app
startup completes and scheduling a WorkManager upload job when a profile is
received.
میتوانید این پیامواره را برای راهاندازی دیگر راهاندازهای سیستم (مثل
TRIGGER_TYPE_OOM) تطبیق دهید، یا ضبطهای نمایه برنامهمحور را بااستفاده از
راهنمای نمایهسازی برنامهمحور پیکربندی کنید. پساز ادغام، راهاندازیتان را بهطور محلی بااستفاده از فرمانهای اشکالزدایی برای نمایهسازی محلی آزمایش کنید و نمایههای جمعآوریشده را با عامل هوش مصنوعی تجزیهوتحلیل کنید.