0Pricing
Android Academy · درس

شرح إعادة التركيب

تعرّف إلى كيفية تحديث Compose لواجهة المستخدم

شرح إعادة التركيب درس مجاني في Android Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Android Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Android Academy 4 دروس في المجموع.

ما إعادة التركيب؟

إعادة التركيب هي إعادة تشغيل Compose لدوال العناصر composable لتحديث واجهة المستخدم عند تغيّر الحالة التي تقرؤها. وبهذه الطريقة تظل الشاشة متزامنة مع بياناتكم.

تُشغّلها قراءات الحالة

يتتبّع Compose العناصر composable التي تقرأ كل حالة. وعند تغيّر قيمة حالة، تتم جدولة العناصر composable التي قرأتها فقط لإعادة التركيب.

ذكية وانتقائية

إعادة التركيب انتقائية: يحاول Compose إعادة تشغيل أقل قدر ممكن. ولا يؤدي تغيير جزء واحد من الحالة إلى إعادة رسم الشاشة بأكملها، بل الأجزاء التي تعتمد عليه فقط.

التخطي

إذا لم تتغير مدخلات عنصر composable، فيمكن لـ Compose تخطي إعادة تشغيله بالكامل. ويحافظ ذلك على انخفاض تكلفة إعادة التركيب حتى في الشاشات المعقدة.

تُشغّل العناصر composable كثيرًا

بما أن إعادة التركيب قد تحدث كثيرًا وبأي ترتيب، يجب أن تكون العناصر composable آمنة لإعادة التشغيل. وينبغي أن يؤدي استدعاؤها مرات عديدة إلى واجهة المستخدم نفسها عند وجود الحالة نفسها.

تجنّب الآثار الجانبية

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

// BAD: runs on every recomposition
@Composable
fun Bad() {
    saveToDatabase()
    Text("Hi")
}

استقلالية الترتيب

لا يمكنكم افتراض تشغيل العناصر composable بترتيب محدد أو على خيط تنفيذ محدد. تعاملوا مع كل استدعاء على أنه مستقل. وهذه الحرية هي ما يتيح لـ Compose إجراء تحسينات واسعة.

القراءة مقابل عدم القراءة

العناصر composable التي تقرأ حالةً فقط هي التي تعيد التركيب عند تغيّرها. فإذا لم يقرأ Text القيمة count مطلقًا، فلن يتأثر عند تغيير count.

@Composable
fun Demo() {
    var count by remember { mutableStateOf(0) }
    Text("Static")          // never recomposes from count
    Text("Count: $count")    // recomposes when count changes
    Button(onClick = { count++ }) { Text("+") }
}

تجنّب حلقات إعادة التركيب

قد تؤدي الكتابة إلى الحالة أثناء التركيب (وليس داخل حدث) إلى حلقة إعادة تركيب لا نهائية. حدّثوا الحالة من ردود الاتصال مثل onClick فقط، ولا تحدّثوها مباشرةً داخل الجسم.

تبدو تلقائية

من وجهة نظركم، تبدو إعادة التركيب تلقائية. تعرّفون واجهة المستخدم بوصفها دالة للحالة، وتغيّرون الحالة في ردود الاتصال، ويتولى Compose إعادة تشغيل العناصر composable المناسبة.

جمع الأجزاء معًا

يوضح هذا العدّاد إعادة التركيب: يؤدي النقر إلى تغيير count، ويعيد Compose تشغيل Text الذي يقرأها، ثم يظهر الرقم الجديد.

@Composable
fun Counter() {
    var count by remember { mutableStateOf(0) }
    Button(onClick = { count++ }) {
        Text(text = "Count: $count")
    }
}

تحقق سريع

متى يعيد Compose تركيب عنصر composable؟

مراجعة

أساسيات إعادة التركيب:

  • تؤدي تغييرات الحالة إلى إعادة تشغيل العناصر composable التي تقرأ تلك الحالة.
  • إعادة التركيب انتقائية، ويمكنها تخطي العناصر composable التي لم تتغير.
  • يجب أن تكون العناصر composable خالية من الآثار الجانبية وآمنة لإعادة التشغيل بأي ترتيب.

الأسئلة الشائعة

هل درس «شرح إعادة التركيب» مجاني؟

نعم — نص درس «شرح إعادة التركيب» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Android Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Android Academy 4 دروس في المجموع.

ماذا ستتعلم في «شرح إعادة التركيب»؟

تعرّف إلى كيفية تحديث Compose لواجهة المستخدم تتمرن على Android Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Android Academy؟

لا تُشترط خبرة سابقة. Android Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «شرح إعادة التركيب»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Android Academy هذا؟

نعم. كل درس في Android Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الحالة باستخدام remember وmutableStateOf
  2. شرح إعادة التركيب
  3. رفع الحالة
  4. rememberSaveable
← العودة إلى Android Academy