1. مبتدئ

    ما هو خطأ ANR (Application Not Responding) وما أسبابه الرئيسية وكيفية تتبعه؟

    يحدث عندما يحجب التطبيق الـ Main Thread لأكثر من 5 ثوانٍ أثناء التفاعل مع المستخدم أو أكثر من 10 ثوانٍ في BroadcastReceiver؛ وسببه عمليات الشبكة أو الحسابات الثقيلة على خيط الواجهة.

    اقرأ الشرح الكامل
  2. متوسط

    ما هو تسريب الذاكرة (Memory Leak) في أندرويد وكيف تساعد أداة LeakCanary في اكتشافه؟

    يحدث عندما يحتفظ كائن طويل العمر بمرجع قوي (Strong Reference) لكائن انتهت دورة حياته (كالـ Activity)، مما يمنع مجمع النفايات (GC) من تحريره؛ وتكتشفه LeakCanary بتتبع كائنات مفرغة عبر مراجع ضعيفة.

    اقرأ الشرح الكامل
  3. متوسط

    ما الفرق بين أنواع إقلاع التطبيق (Cold, Warm, Hot Start) وكيف تحسن وقت الإقلاع البارد؟

    Cold Start يبدأ من الصفر بإنشاء العملية والـ Application؛ Warm يعيد إنشاء الـ Activity فقط؛ و Hot يعيد التطبيق فورًا للمقدمة من الذاكرة. يتم تحسين الإقلاع بتأخير تهيئة المكتبات غير الضرورية.

    اقرأ الشرح الكامل
  4. متوسط

    كيف تدير ذاكرة الصور والـ Bitmaps في أندرويد لتجنب أخطاء OutOfMemoryError (OOM)؟

    بتصغير أبعاد الصورة وقت فك التشفير باستخدام inSampleSize، وإعادة تدوير كائنات الـ Bitmap السابقة عبر inBitmap، والاعتماد على مكتبات متخصصة كـ Coil.

    اقرأ الشرح الكامل
  5. متقدم

    كيف تكتشف تقطيع الإطارات (Jank) وأسباب هبوط معدل الـ 60/120 FPS باستخدام أداة Perfetto؟

    بتسجيل تتبع زمني لأداء المعالج ومطابقة خط زمني لإطارات الشاشة (Choreographer frame budget) لمعرفة ما إذا كانت معالجة إطار استغرقت أكثر من 16.6ms أو 8.3ms.

    اقرأ الشرح الكامل
  6. متقدم

    ما هي الـ Baseline Profiles وكيف تسرع إقلاع التطبيق وسلاسة التمرير بنسبة تصل إلى 30%؟

    هي مواصفات مدمجة داخل حزمة APK تحدد مسارات الكود الحرجة ليقوم نظام تشغيل أندرويد (ART) بترجمتها مسبقًا إلى كود آلة أصلي (AOT Compilation) أثناء التثبيت.

    اقرأ الشرح الكامل