سؤال

ما هي إيجابيات ومكافحة استخدام Vector.<> بدلاً من array?

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

المحلول

من صفحة وثائق Adobe.:

نتيجة لقيودها، يكون للمتجه فائدة أساسية على مثيل مجموعة من عناصرها جميع مثيلات فئة واحدة:

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

نصائح أخرى

Pro: ناقل أسرع من الصفيف - على سبيل المثال انظر هذا: أسرع JPEG ترميز مع فلاش لاعب 10

كونترا: يتطلب متجه FP10، ووفقا http://riastats.com/ ما زال حوالي 20٪ من المستخدمين يستخدمون FP9

ناقلات أسرع. على الرغم من التكرار المتسلسل يبدو أن أسرع شيء مرتبط.

يمكن أن تكون المتجهات أيضا مفيدة لعمليات النقطية (تحقق من bitmapdata.setvector، أيضا bitmapdata.lock وفتح).

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

وفقا لموقع اختراق فلاش لاعب هو أعلى قليلا. حول 85٪

هذا هو المصدر

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