मैंने आलसी लोडिंग के बारे में कुछ पोस्ट की समीक्षा की है लेकिन मेरा मानना है कि मेरी समस्या थोड़ा अलग है।एंड्रॉइड: गैलरी में आलसी लोडिंग
मेरे पास एक गैलरी है (मेरी कक्षा गैलरी फैली हुई है) जो 20 आकारों में बड़ी छवियों (400-500K प्रत्येक) प्रदर्शित करती है। मैं उन्हें गैलरी में लोड नहीं कर सकता क्योंकि मुझे आउटऑफमेमरी अपवाद मिलता है।
तो, मैंने 20 ड्रॉबल्स की एक सरणी बनाई और शुरुआत में पहले 9 तत्वों (छवियों को वेब से आते हैं) को पॉप्युलेट किया और बाकी सभी को शून्य पर सेट कर दिया। मेरा इरादा यह था: दाईं ओर झुकाव पर, तत्व संख्या प्राप्त करें। 10 और शून्य तत्व संख्या में सेट करें। 0. सही लाने के लिए एक और झुकाव तत्व संख्या संख्या। 11 और शून्य तत्व संख्या में सेट करें। 1 शून्य करने के लिए। एक झुकाव बाईं ओर एक ही तर्क।
समस्या यह है कि मैं तत्वों की तुलना में बहुत तेजी से फ़्लिंग कर सकता हूं। मेरे गैलरी एक BaseAdapter है और इसके getView() इस तरह दिखता है:
public View getView(int position, View convertView, ViewGroup parent){ ImageView imageView = new ImageView(); imageView.setDrawable(imageArray[position]; .... .... return imageView; }
मैं getView (कैसे बताऊँ) - अगर imageArray [स्थिति] अभी भी रिक्त है, एक "लोड हो रहा है ..." संवाद और दिखाने एक बार यह सेट हो जाने के बाद खुद को एक ही स्थिति के साथ दोहराएं?
मैं छवि को खाली नहीं देखना चाहता हूं और फिर फ्लाई पर सेट करना चाहता हूं। मैं छवि दृश्य को तब तक देखने में सक्षम नहीं होना चाहता जब तक कि यह सेट न हो जाए।
धन्यवाद।
एंड्रॉइड ब्लॉग (साथ ही कुछ उदाहरण कोड) पर एक शानदार पोस्ट है जो आपके प्रश्न का उत्तर देता है: http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html – Ally