سؤال

عند استخدام nsurlrequest على iPhone ، ما هي اختلافات الأداء في العالم الحقيقي بين مختلف nsurlrequestcachepolicy الإعدادات؟ أنا مهتم على وجه التحديد بتأثير سياسة ذاكرة التخزين المؤقت على تصور المستخدم للسرعة التي يعرضها صفحات UIWebView.

لقد كنت أستخدم الافتراضي NSURLRequestCachePolicy لكنني أعتقد أنه ربما يمكن أن يكون NsurlrequestreloadRevalidatingCachedata الأفضل لمعظم الحالات خاصة عند العودة إلى الصفحة السابقة.

إذا كنت قد استخدمت سياسات ذاكرة التخزين المؤقت المختلفة في ظل ظروف العالم الحقيقي ، ما هي السياسة التي أثبتت أنها مثالية في ظرف معين؟ ما هي السياسة التي توفر أفضل أداء عام على الأنواع الثلاثة المختلفة من اتصالات iPhone و Wi-Fi و 3G و Edge؟ هل يكون لسياسة ذاكرة التخزين المؤقت حتى أي تأثير كبير على تصور المستخدم لسرعة تحميل الصفحة أم يجب أن أبحث في مكان آخر لتحسين وقت عرض UIWEBView؟

تحديث:

يبدو أن هناك إجماعًا على أن UIWEBView يتجاهل إعدادات ذاكرة التخزين المؤقت على أي nsurlrequest. ليس لدي ثقة تامة في أن هذه هي الإجابة النهائية ولكن باستثناء الوقت لإجراء بعض الاختبارات الشاملة ، لا يمكنني تحقيق ذلك. لذلك ، أنا أقبل أعلى إجابة تصنيف. ومع ذلك ، فإنني أنصحك بأن تأخذ الإجابات بحبوب الملح إذا كانت المسألة ذات أهمية لمشروعك. - Techzen.

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

المحلول

لا أعتقد أن هذا سيحدث أي فرق في أوقات تحميل UIWEBView الخاصة بك. تم بناء UiWebView على WebKit ، وهم لا يستخدمون NSURLConnection داخليًا (هم في مستوى أقل بكثير والاستخدام CFNetwork مباشرة).

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

نصائح أخرى

أنا بضع ساعات لمشروع يحاول الحصول على ملف UIWebView لتخزين Cache صفحات كنت تحميل. ثبت أنه مستحيل من جانب التطبيق دون تخزين الملفات محليًا. يبدو أن UIWebView يتجاهل NSURLRequestCachePolicy تماما.

ياهو! لديه بعض المعلومات على سلوك التخزين المؤقت لـ iPhone.

لقد قمت للتو بعمل GREP على مصادر WebKit ، ولم أجد أي استخدام لـ -[NSURLRequest cachePolicy].

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