سؤال

للتطبيق الذي أعمل فيه حاليا، خلقت شيئا مثل ImageSwitcher لصور متعددة (تخيل iPhone UIScrollView مع تمكين الترحيل).

في البداية، أنا بجد مشفرة بعض ImageViews وتحمل مواردها القابلة للشركة على الإبداع / التضخم، ولكن بعد بعض القرص (وما اعتقدت أنها كانت تحسينات)، قللت من المشاهدات اللازمة إلى 3، منها 2 ImageViews تستخدم لعرض الصفحة الحالية والرسوم المتحركة بين الصفحة الحالية والجديدة.

مع هذا التغيير، بدأت في الاستخدام setImageResource/setImageDrawable للتحميل الديناميكي للصورة الجديدة في 2 ImageViews قبل الانزلاق عبر الصفحات (أنا أستخدم ملفات PNG، الحجم لعرض HVGA).

لخيبة أملتي، أصبح الأداء أسوأ، إلى حد الشعور ببعض التأخر عند الانزلاق بشكل أسرع من خلال الصفحات. نظرة سريعة في TraceView كشفت أن 17.4٪ من إجمالي الوقت أثناء استخدام التطبيق، أكثر من 5 مرات أكثر من الطريقة الثقيلة التالية، تم استهلاكها من BitmapFactory.nativeDecodeAsset, ، دعا بواسطة إعدادي الديناميكي للمورد الرسمي.

أفكر في طرق التحايل على هذا، وأريد أن أفعل ذلك بأفضل طريقة ممكنة، لذلك أي اقتراحات مرحب بها.

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

المحلول

في أي تنسيق لديك الصور؟

يعمل Android بشكل أصذي مع صور RGB565، لذلك إذا استطعت تحويل صورك إلى هذا التنسيق، فستكون فك التشفير أسرع بكثير.

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