العثور على سبب jank في واجهة المستخدم في تتبع مسجل
متى تستخدمه: تقرير من المستخدم: 'التطبيق يتلعثم عند التمرير'. التقطت تتبع Perfetto. والآن؟
المتطلبات الأساسية
- ملف Perfetto .pftrace — perfetto / systrace / Android Studio Profiler
الخطوات
-
وجه MCP نحو التتبعافتح /tmp/jank.pftrace لعملية com.example.app. ابحث عن إطارات jank — أي شيء يتجاوز 16.67ms على الخيط الرئيسي.✓ تم النسخ→ قائمة بإطارات jank مع سياق المقطع
-
نسب السببللإطارات الثلاثة الأولى من jank، أي مقطع هيمن؟ ماذا كان الخيط الرئيسي يفعل عندما فقد الإطار؟✓ تم النسخ→ السبب لكل إطار
-
اقترح الحلبناءً على هذه الاختناقات، اقترح تغييرات ملموسة (نقل من الخيط الرئيسي وتخزين مؤقت إلخ).✓ تم النسخ→ خطة الحل
النتيجة: تم تحديد السبب الجذري لـ jank دون النظر إلى واجهة المستخدم للخط الزمني.
المزالق
- فترة أخذ العينات غير دقيقة — عدم التقاط الأساليب الساخنة القصيرة — أعد التسجيل بتكرار أخذ عينات أعلى عند الحاجة