سؤال

كان لدي بالفعل سؤال مثل هذا، لكنني حذفته بالفعل على أي حال.

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

نظرًا لأنني أقوم بتحميل وحدات التحكم في العرض الخاصة بي وإلغاء التحميل في أوقات محددة، فإن رمز التحميل البطيء الموجود في الحروف يكون مربكًا للغاية لأنني لا أريد في الواقع تحميلها بشكل صحيح عندما أستخدمها، فأنا بحاجة إلى تحميلها قبل ذلك حتى تظهر الرسوم المتحركة المقلوبة تبدو جيدا.لذلك أعتقد أنني أريد إنشاء طرقloadFirstVC وloadSecondVC لتحميل وحدات التحكم في العرض.هل هذه فكرة جيدة؟

هل كانت مفيدة؟

المحلول

السبب الرئيسي للتحميل البطيء هو عدم تأجيل التحميل الذي سيحدث بالتأكيد.إنه لتأجيل التحميل الذي قد لا تكون هناك حاجة إليه أبدًا.(إنها مفيدة أيضًا لفرض عمليات إعادة التحميل عندما تتغير البيانات، ولكن هذه ليست مشكلتك هنا.)

مثال:لنفترض أن لديك مجموعة من البيانات حول شخص ما، بما في ذلك الصورة، المخزنة في ملف خارجي.ولكن لن يتم عرض الصورة إلا إذا انتقل المستخدم إلى عرض فرعي، فلماذا تقوم بتحميل الصورة من ملفه حتى تعرف على وجه اليقين أن العرض الفرعي سيظهر؟بوم، استخدم التحميل البطيء.

بحلول الوقت الذي تعرف فيه أنك تريد تحميل جزء معين من البيانات، فمن غير المرجح أن يهم كثيرًا متى تقوم بتحميلها بالضبط.

متى يهم؟حسنًا، هذه حقًا مسألة تحسين.هناك قول مأثور ربما تكون قد مررت به؛إذا لم تقم بذلك، فهذا هو الوقت المناسب مثل أي وقت آخر:"التحسين المبكر هو أصل كل الشرور (البرمجة)".

لذا اسأل نفسك سؤالين:

  1. هل ستكون هناك حاجة بالتأكيد إلى قطعة من البيانات؟إذا كانت الإجابة لا، تابع أسلوب التحميل البطيء.إذا كانت الإجابة بنعم، انتقل إلى السؤال 2.

  2. هل يهم عندما أقوم بتحميل البيانات؟[على سبيل المثال، إنه ضخم ولا أريد تحميله حتى أقوم بتفريغ شيء آخر لإفساح المجال له] إذا كان الجواب لا، ضعه في أي مكان يعمل.اذا نعم...عد واسألنا مرة أخرى، وقدم المزيد من التفاصيل.

...أظن أن هذا لا يجيب على سؤالك الأصلي، ولكن يبدو أنك قد تطرح السؤال الخطأ في المقام الأول.أعتذر إذا كنت مخطئا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top