سلسلة تحسين أداء iOS 02|نقطة البداية لاستكشاف أخطاء أداء iOS وإصلاحها: التأخر، وبدء التشغيل البطيء، والذاكرة العالية، والبطارية العالية
يعد تحديد موقع نوع المشكلة أولاً، ثم تحديد الأدوات ومسارات التحليل أكثر فعالية من بدء استكشاف الأخطاء وإصلاحها بشكل كامل.
عندما تذكر العديد من الفرق استكشاف أخطاء الأداء وإصلاحها، يكون رد فعلهم الأول هو “فتح الأدوات”. هذا صحيح بالتأكيد، ولكن إذا لم تميز نوع المشكلة أولاً، فمن الممكن أن تقع بسهولة في حالة لاحقة:
- نظرت إلى الكثير من الصور
- لقد سجلت أيضًا مجموعة من المؤشرات
- لكن ما زلت لا أستطيع تحديد أين تكمن المشكلة الرئيسية
لذا فإن الخطوة الأولى التي أؤكد عليها دائمًا هي التصنيف.
نظرًا لوجود أنواع مختلفة من مشكلات الأداء، تختلف مداخل استكشاف الأخطاء وإصلاحها تمامًا. إذا ذهبت في الاتجاه الخاطئ في البداية، فكلما زاد عدد الأدوات التي لديك لاحقًا، أصبح من الأسهل أن تغمرك المعلومات.
1. اسأل أولاً بوضوح: ما الذي يشتكي منه المستخدمون بالضبط؟
تبدو هذه الخطوة أساسية، لكنها تفشل في الكثير من عمليات استكشاف الأخطاء وإصلاحها.
عليك أولاً أن تحاول ترجمة السؤال إلى كلمات أكثر تحديدًا، بدلاً من عبارة “التطبيق بطيء بعض الشيء” بشكل عام.
على سبيل المثال:
- هل هو بطيء في البدء بالبرودة أم بطيء في البدء بالحرارة؟
- هل يتم فتح صفحة معينة ببطء أم أن التطبيق بأكمله بطيء؟
- هل التمرير عالق أم أن الاستجابة بطيئة بعد النقر؟
- هل يصبح عالقًا أكثر فأكثر بعد استخدامه لفترة طويلة، أم أنه يعلق بمجرد تشغيله؟
- هل هي حمى خطيرة أم استهلاك غير طبيعي للطاقة؟
بمجرد أن يتم تحديد المشكلة، سيتم تقليل نطاق التحليل إلى حد كبير.
2. إن بدء التشغيل البطيء، والتأخير، والذاكرة العالية، والبطارية العالية هي في الأصل أربعة مسارات مختلفة لاستكشاف الأخطاء وإصلاحها.
على الرغم من أنها تسمى جميعًا “مشكلات الأداء”، إلا أنه عندما يتعلق الأمر باستكشاف الأخطاء وإصلاحها، فإنه يجب التعامل معها على أنها أربعة أنواع مختلفة من المشكلات.
1. بدء التشغيل بطيء
يجب عليك الاهتمام أكثر بما يلي:
- هل البداية الباردة والبداية الساخنة بطيئة؟
- ما يفعله الخيط الرئيسي أثناء مرحلة بدء التشغيل
- هل تم إجراء الكثير من عمليات التهيئة قبل عرض الصفحة الرئيسية؟
- هل تم وضع المهام غير الحرجة على المسار الحرج؟
2. الإطارات المتعثرة/المسقطة
يجب عليك الاهتمام أكثر بما يلي:
- ما يفعله الخيط الرئيسي في لحظة سقوط الإطارات
- هل هو تخطيط أم رسم أم فك تشفير أم معالجة بيانات أم عدد كبير جدًا من تحديثات الحالة؟
- سواء كان يظهر فقط في صفحات محددة أو قوائم محددة
3. ذاكرة عالية
يجب عليك الاهتمام أكثر بما يلي:
- هل هي قمة عالية أم أنها قمة طويلة المدى لن تتراجع؟ -هل هي صورة، أو ذاكرة تخزين مؤقت، أو تسرب كائن، أم أن كائنًا كبيرًا تم الاحتفاظ به لفترة طويلة جدًا؟
- ما إذا كانت المشكلة تحدث بعد مسار وظيفة محدد
4. ارتفاع مستوى البطارية/الحرارة
يجب عليك الاهتمام أكثر بما يلي:
- هل هناك الكثير من المهام الخلفية؟
- ما إذا كانت طلبات الاستقصاء وتحديد المواقع وطلبات الشبكة متكررة جدًا
- ما إذا كانت وحدة المعالجة المركزية مشغولة بشكل مستمر -ما إذا كانت بعض الصفحات تحتوي على تحديث غير صالح أو مهام نشطة طويلة المدى
وينبغي التعامل مع أنواع مختلفة من المشاكل من اتجاهات مختلفة. إن خلطها معًا لن يؤدي إلا إلى الكثير من المعلومات في نفس الوقت، ولكن لن يؤدي إلى نتيجة حقيقية.
3. إذا لم يكن من الممكن إعادة إنتاج المشكلة بشكل ثابت، فلا تتسرع في البحث بشكل أعمق.
هذه هي الخطوة التي تميل العديد من الفرق إلى تخطيها.
إذا كانت المشكلة لا تزال في هذه الحالة:
- “في بعض الأحيان يمكن أن يكون بطيئا”
- “أحيانًا عالقًا”
- “قال زميل أن هاتفه المحمول ساخن”
أهم شيء في هذا الوقت هو جعل شروط التكرار محددة قدر الإمكان:
- أي جهاز
- ما هو إصدار النظام
- أي مسار التشغيل
- بداية باردة أو بداية دافئة
- شبكة Wi-Fi لا تزال ضعيفة
- تسجيل الدخول أو وضع الضيف
لأن الخوف الأكبر في استكشاف أخطاء الأداء وإصلاحها هو عدم وضوح حدود المشكلة. وبدون مسار تكاثر مستقر، فإن كل التحليلات اللاحقة سوف تنجرف بسهولة.
4. أفضّل تضييق النطاق أولاً بدلاً من متابعة الشرح الكامل.
من المواقف الشائعة أنه عند القيام باستكشاف أخطاء الأداء وإصلاحها، ستحتاج إلى “شرح المشكلة بأكملها بدقة” من البداية. ولكن في العمل الحقيقي، عادة ما يتم تقسيم الطريقة الأكثر كفاءة إلى خطوتين:
الخطوة الأولى: تضييق النطاق
لنعرف أولا أين تكمن المشكلة:
- رابط البداية
- صفحة معينة
- قائمة
- مشهد صورة معينة
- مهمة الخلفية
الخطوة الثانية: الحفر العميق المستهدف
وبعد تضييق النطاق، استخدم أدوات وبيانات أكثر تحديدًا لتحديد الاختناقات.
قيمة هذا التسلسل هي: قم أولاً ببناء “خريطة المشكلة” بدلاً من البحث بشكل أعمى عن الإجابات في مؤشرات ضخمة.
5. حكم عملي للغاية: هل هذه “مشكلة مسار حرج” أم “مشكلة تراكم طويلة المدى”
غالبًا ما يتم خلط هذين النوعين معًا، لكن منطق استكشاف الأخطاء وإصلاحها مختلف.
قضايا المسار الحرج
على سبيل المثال:
- بداية بطيئة من البرد
- تفتح الصفحة ببطء
- الاستجابة البطيئة بعد النقر
هذا النوع من المشاكل يشبه إلى حد كبير “يتم إنجاز الكثير من العمل في لحظة معينة”، وما يجب اكتشافه هو عنق الزجاجة في اللحظة الحرجة.
مشكلة التراكم على المدى الطويل
على سبيل المثال:
- يصبح عالقًا أكثر فأكثر بعد استخدامه لفترة طويلة.
- الذاكرة تزداد أعلى وأعلى
- استمرار ارتفاع مستوى البطارية
هذا النوع من المشاكل يشبه إلى حد كبير “استراتيجية تشغيل النظام طويلة المدى غير صحية.” ما يجب البحث عنه هو التكلفة التراكمية وقضايا دورة الحياة.
هذا التمييز عملي للغاية، لأنه سيحدد بشكل مباشر ما إذا كان يجب التركيز على عملية لحظية أو النظر إلى الاتجاه على مدى فترة من الزمن.
6. سوء الفهم الشائع: استخلاص النتائج قبل تصنيف الأنواع
من السهل إصدار هذه الأحكام المبكرة في استكشاف أخطاء الأداء وإصلاحها:
- “يجب أن تكون مشكلة في الصورة”
- “يجب أن يكون هذا خطأ SwiftUI”
- “يبدو أن هذا بمثابة تسرب للذاكرة”
تكون هذه التخمينات صحيحة في بعض الأحيان، ولكن إذا استخلصت استنتاجات في وقت مبكر جدًا، فمن السهل أن يدور التحليل اللاحق حول فرضية واحدة فقط.
لذلك أفضّل الإجابة أولاً:
- ما هو نوع هذه المشكلة؟
- ما هو المسار الذي يحدث فيه؟
- ما هي شروط التكرار؟
- هل هو متقطع أم مستقر؟
من المهم تصنيف المشكلة بشكل صحيح أولاً بدلاً من تخمين السبب أولاً.
7. تسلسل بداية أقرب إلى القتال الفعلي
إذا طرح عليّ أحدهم سؤالًا عن الأداء اليوم، عادةً ما أبدأ بهذا التسلسل:
- اسأل بوضوح عن الظاهرة التي يراها المستخدم.
- تحديد ما إذا كان بدء التشغيل أو التأخر أو الذاكرة أو البطارية.
- تأكد من إمكانية إعادة إنتاجه بشكل ثابت.
- التأكد مما إذا كانت المشكلة تتركز في صفحة أو مسار معين.
- قرر الأداة التي ستستخدمها بعد ذلك.
يبدو هذا التسلسل بسيطًا جدًا، لكنه يمكن أن يقلل بشكل كبير من حالة “الأداة مفتوحة كثيرًا، لكن الاتجاه لا يزال غير واضح”.
8. الخلاصة: قم بتقسيم المشكلة أولاً ثم استخدم الأدوات، وستكون الكفاءة أعلى بكثير
ولكي أختصر الأمر أقول:
الخطوة الأولى الأكثر أهمية في استكشاف أخطاء أداء iOS وإصلاحها هي تقسيم المشكلات أولاً إلى أنواع مختلفة مثل “بدء التشغيل البطيء، والتأخر، والذاكرة العالية، والبطارية العالية”، ثم تحديد مسار التحليل.
لأنه بمجرد عدم تصنيف مشكلات الأداء أولاً، بغض النظر عن كمية المعلومات التي تأتي لاحقًا، سيكون من الصعب الاقتراب حقًا من الإجابة.
What to read next
Want more posts about iOS Performance Optimization?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #iOS?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home