ضبط متدهای جاوا/کوتلین که در طول اجرای کد برنامه شما فراخوانی میشوند، به شما امکان میدهد تا پشته تماس و استفاده از CPU را در یک زمان معین، فیلتر شده به روشهای جاوا/کاتلین ببینید. این دادهها برای شناسایی بخشهایی از کد که اجرای آنها به زمان طولانی یا منابع سیستم زیادی نیاز دارد، مفید است. اگر میخواهید یک نمای کامل از پشته تماس از جمله فریمهای تماس بومی را داشته باشید، از کار نمونهای پروفایل callstack استفاده کنید.
وقتی روشهای جاوا/کاتلین را با استفاده از نمایهساز Android Studio ضبط میکنید، میتوانید نوع ضبط را انتخاب کنید:
ردیابی: برنامه شما را در زمان اجرا ابزار می کند تا در ابتدا و انتهای هر فراخوانی، یک مهر زمانی ثبت کند. مهرهای زمانی جمعآوری شده و برای تولید دادههای ردیابی روش، از جمله اطلاعات زمانبندی، مقایسه میشوند. زمانی که به روش های دقیق فراخوانی اهمیت می دهید، باید از ردیابی استفاده کنید. از آنجا که ردیابی فرآیند فشرده ای است، اگر از این گزینه استفاده می کنید، بهتر است ضبط خود را حدود پنج ثانیه یا کمتر نگه دارید.
نمونه برداری (میراث): پشته تماس برنامه شما را در فواصل زمانی مکرر در طول اجرای کد مبتنی بر جاوا یا کاتلین برنامه شما ضبط می کند. نمایهساز مجموعهای از دادههای گرفته شده را با هم مقایسه میکند تا اطلاعات زمانبندی و استفاده از منابع را در مورد اجرای کد مبتنی بر جاوا یا کاتلین برنامه شما بدست آورد. اگر به زمانبندی بیشتر از روشهای دقیقی که فراخوانی میشوند اهمیت میدهید، باید از نمونهگیری استفاده کنید.
مروری بر روش های جاوا/کاتلین
پس از اجرای وظیفه Find CPU Hotspots، Android Studio Profiler اطلاعات زیر را ارائه می دهد:
- استفاده از CPU : میزان استفاده از CPU از برنامه شما را به عنوان درصدی از کل ظرفیت CPU موجود بر حسب زمان نشان می دهد. توجه داشته باشید که استفاده از CPU نه تنها شامل متدهای جاوا/کاتلین، بلکه کدهای بومی نیز می شود. بخشی از جدول زمانی را برای فیلتر کردن جزئیات مربوط به آن دوره زمانی برجسته کنید.
- تعاملات : تعامل کاربر و رویدادهای چرخه عمر برنامه را در یک جدول زمانی نشان می دهد.
- Threads : رشته هایی را نشان می دهد که برنامه شما روی آنها اجرا می شود. در بیشتر موارد، ابتدا باید روی بالاترین رشته ای که برنامه شما را نشان می دهد تمرکز کنید.
برای شناسایی روشها یا پشتههای فراخوانی که بیشترین زمان را میبرند، از نمودار شعله یا نمودار بالا به پایین استفاده کنید.