swiftui-performance-audit
تدقيق مشاكل أداء SwiftUI
قد تعاني تطبيقات SwiftUI من بطء في العرض، وتمرير متقطع، واستخدام مفرط للمعالج. تقدم هذه المهارة إرشادات لمراجعة الكود، والتحليل باستخدام Instruments، والإصلاحات المستهدفة لتحسين أداء تطبيقك.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "swiftui-performance-audit". القائمة تتمرر ببطء عندما أضيف عناصر. إليك الكود الخاص بي: [code with ForEach filtering]
النتيجة المتوقعة:
- المشكلة: التصفية المضمنة في ForEach تسبب إعادة الحساب في كل عملية عرض
- الحل: قم بتصفية المصفوفة مسبقاً وتخزينها، أو استخدم خاصية محسوبة تتحدث فقط عند تغيير المصدر
- تحقق أيضاً: تأكد من استقرار الهوية (تجنب id: \.self للقيم غير المستقرة)
- الخطوة التالية: قم بالتحليل باستخدام قالب SwiftUI في Instruments لتأكيد الإصلاح
استخدام "swiftui-performance-audit". تطبيقي يتجمد عند التنقل بين طرق العرض
النتيجة المتوقعة:
- الأسباب الشائعة: عمل ثقيل في جسم العرض أثناء التنقل
- تحقق: هل تقوم بعمل غير متزامن أو جلب بيانات في جسم العرض؟
- التوصية: انقل العمليات المكلفة إلى معدِّل .task أو نموذج العرض
- قم بالتحليل باستخدام أداة Hangs لتأكيد حظر الخيط الرئيسي
استخدام "swiftui-performance-audit". كيف أستخدم أداة SwiftUI في Instruments؟
النتيجة المتوقعة:
- الخطوة 1: ابنِ تطبيقك في وضع Release
- الخطوة 2: Product > Profile لتشغيل Instruments
- الخطوة 3: اختر قالب SwiftUI
- الخطوة 4: مارس التفاعل مع تطبيقك
- الخطوة 5: حلل مسارات Long View Body Updates وHitches
التدقيق الأمني
آمنThis is a pure documentation skill containing only markdown files with SwiftUI performance guidance. No executable code, no file access, no network calls, no environment variables. All 90 static findings are false positives: backticks are markdown code formatting, C2 keywords are normal technical terms, and system reconnaissance patterns are legitimate debugging terminology.
عوامل الخطر
⚙️ الأوامر الخارجية (61)
🌐 الوصول إلى الشبكة (1)
درجة الجودة
ماذا يمكنك بناءه
تشخيص تطبيقات SwiftUI البطيئة
تحديد الأسباب الجذرية للعرض البطيء والتمرير المتقطع في تطبيقات SwiftUI الإنتاجية
تحليل تراجعات الأداء
توجيه فرق التطوير خلال التحليل باستخدام Instruments لاكتشاف وإصلاح تراجعات الأداء
تعلم أنماط الأداء
فهم الأنماط المضادة الشائعة في SwiftUI وتعلم أنماط البرمجة الفعالة للحصول على أداء مثالي
جرّب هذه الموجهات
تطبيق SwiftUI الخاص بي يعاني من [symptom: slow rendering/janky scrolling/high CPU]. إليك الكود الخاص بي: [paste code]. يرجى المراجعة للكشف عن مشاكل الأداء.
كيف أقوم بتحليل تطبيق SwiftUI الخاص بي باستخدام Instruments؟ أريد العثور على [issue: long view body updates/excessive updates/hitches].
قمت بالتقاط تتبع Instruments يظهر [symptom]. إليك إدخالات شجرة الاستدعاءات ذات الصلة: [paste trace data]. ما الذي يسبب هذا؟
أرني أمثلة كود لـ [anti-pattern: expensive formatters in body/computed properties in body/inline filtering in ForEach] وكيفية إصلاحها.
أفضل الممارسات
- قم بالتحليل في وضع Release باستخدام قالب SwiftUI في Instruments للحصول على نتائج دقيقة
- استخدم Self._printChanges() أثناء التصحيح لتحديد تحديثات العرض غير المتوقعة
- انقل العمل المكلف (التنسيق، الفرز) خارج جسم العرض إلى خصائص مخزنة مؤقتاً أو محسوبة
تجنب
- إنشاء محولات التنسيق أو إجراء حسابات ثقيلة مباشرة في جسم العرض
- استخدام id: \.self مع قيم غير مستقرة مثل UUID() في ForEach
- تمرير تبعيات واسعة (مصفوفات كاملة) عندما تكون هناك حاجة فقط لخصائص محددة