نمای کلی

ProfilingManager API به شما امکان می‌دهد نمایه‌های عملکرد کاربر واقعی، مانند ردیابی‌های سیستم و رونوشت‌های پشته Java را از دستگاه‌های تولیدی که Android 15 (سطح میانای برنامه‌سازی کاربردی ۳۵) و بالاتر را اجرا می‌کنند جمع‌آوری کنید. این ابزار از دو سازوکار جمع‌آوری پشتیبانی می‌کند: نمایه‌های تحت‌کنترل برنامه که در آن برنامه شما جمع‌آوری نمایه را از شروع تا توقف کنترل می‌کند (Android 15 و بالاتر) و نمایه‌های مبتنی بر راه‌انداز که در آن سیستم در پاسخ به رویدادهایی که در Android 16 (سطح API‏ ۳۶) و بالاتر به آن‌ها علاقه نشان می‌دهید، ضبط را مدیریت می‌کند.

این راهنما موضوعات زیر را پوشش می‌دهد:

انواع نمایه پشتیبانی‌شده

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) تطبیق دهید، یا ضبط‌های نمایه برنامه‌محور را بااستفاده از راهنمای نمایه‌سازی برنامه‌محور پیکربندی کنید. پس‌از ادغام، راه‌اندازی‌تان را به‌طور محلی بااستفاده از فرمان‌های اشکال‌زدایی برای نمایه‌سازی محلی آزمایش کنید و نمایه‌های جمع‌آوری‌شده را با عامل هوش مصنوعی تجزیه‌وتحلیل کنید.