القائمة الرئيسية

الصفحات

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

 

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا. هل تساءلت يومًا كيف تتعامل Flutter مع عشرات العمليات في الخلفية (مثل نقرات المستخدم وطلبات الـ API) دون أن تتجمد واجهة التطبيق؟ الإجابة تكمن في حلقة الأحداث (Event Loop) – وهي آلية ذكية تُنظم أولويات المهام لضمان سلاسة التطبيق. في هذا المقال، سنكشف هذه الآلية بأمثلة عملية، حتى تتمكن من تجنب الأخطاء الشائعة وتحسين أداء تطبيقاتك.


ما هي حلقة الأحداث الـ Event Loop في Flutter؟

هو نظام إدارة مهام في Dart (لغة Flutter):

يستقبل الطلبات (المهام) ويوزعها على طابورين:

طابور المهام الدقيقة (Microtask Queue): للمهام العاجلة (مثل تحديث واجهة فوري).

طابور الأحداث العادية (Event Queue): للمهام الأقل إلحاحًا (مثل استجابة الشبكة وطلبات الـ API).

void main() {
  print('بداية البرنامج');

  // مهمة في طابور الأحداث العادية
  Future(() => print('حدث عادي'));

  // مهمة في طابور المهام الدقيقة
  scheduleMicrotask(() => print('مهمة دقيقة'));

  print('نهاية البرنامج');
}


آلية العمل خطوة بخطوة
التنفيذ التزامني: ينفذ الكود الأصلي (الغير معطّل) مباشرة.
المهام الدقيقة أولًا: تُنفذ جميع المهام في هذا الطابور حتى يُفرغ.
الأحداث العادية لاحقًا: تُنفذ مهمة واحدة من الطابور العادي، ثم تتكرر الدورة.



أنت الان في اول موضوع

تعليقات