मैं सूची दृश्यों में अपने ऐप में छवियों को प्रदर्शित करने के लिए यूनिवर्सल छवि लोडर का उपयोग कर रहा हूं। मैं UnlimitedDiscCache
का उपयोग कर रहा हूं क्योंकि यह दस्तावेज़ीकरण के अनुसार सबसे तेज़ कैश तंत्र है।सार्वभौमिक छवि लोडर - स्पष्ट कैश मैन्युअल रूप से
हालांकि, मैं जब मेरे एप्लिकेशन बंद हो (onStop()
में उदा), लेकिन केवल सबसे पुराने संचित फ़ाइलें कि किसी दिए गए सीमा को पार कर हटा दिया जाना चाहिए डिस्क कैश को साफ़ करना चाहते हैं (जैसे TotalSizeLimitedDiscCache
करता है)।
मैं ImageLoader.clearDiscCache()
के बारे में पता कर रहा हूँ, लेकिन मेरे मामले में यह पूरा कैश को साफ करता है के बाद से मैं UnlimitedDiscCache
से पहले उपयोग कर रहा हूँ ...
तो मैं जब उपयोगकर्ता लोड हो रहा है और listviews स्क्रॉल है सबसे तेजी से कैश तंत्र करना चाहते हैं और धीमी कैश साफ़ करें जब उपयोगकर्ता अब ऐप के साथ सहभागिता नहीं कर रहा है।
कोई विचार मैं इसे कैसे प्राप्त कर सकता हूं?
आप गारंटी नहीं दे सकते कि ऐप रोक रहा है जब 'ऑनस्टॉप()' कहा जाता है। यह केवल इतना कहता है कि वर्तमान गतिविधि रोक दी जा रही है। एक और कैशिंग तंत्र को कार्यान्वित करने में व्यतीत समय की तुलना में प्रदर्शन हानि बहुत कम है (जो ऐप को धीमा कर सकती है)। –
@jeff_bordon क्या आपके पास कोई कोड है जिसका उपयोग ImageLoader उदाहरण बनाने के लिए किया जाता है? @Androidy हां, जब ऐप खत्म होने वाला है, तो आप अलग-अलग हो सकते हैं, जैसे 'if (isFinishing()) {कुछ करें} ' –
@jeff_bordon आप BoB (दोनों में से सर्वश्रेष्ठ) प्राप्त कर सकते हैं। यहां स्रोत देखें https://github.com/nostra13/Android- यूनिवर्सल- छवि- लोडर/ब्लॉब /मास्टर/library/src/com/nostra13/universalimageloader/cache/disc/impl/LimitedAgeDiscCache.java लेखन असीमितएजडिस्क कैश बहुत सीधे आगे हो। आपको बस इतना ही पता होना चाहिए कि अब और उसके बीच की तारीख और अंतर है। मुझे लगता है कि यह सूची दृश्यों की गति को कम नहीं करेगा अगर यह कुछ ifs के मामले में है। –