सबसे अद्यतन संस्करण 2.71828 के लिए ये आपके उत्तर हैं।
Q1 : क्या इसमें स्थानीय डिस्क कैश नहीं है?
A1 : पिकासो के भीतर डिफ़ॉल्ट कैशिंग है और अनुरोध प्रवाह इस तरह से है
App -> Memory -> Disk -> Server
वे जहां भी अपनी छवि से पहले मिले, वे उस छवि का उपयोग करेंगे और फिर अनुरोध प्रवाह रोक देंगे। प्रतिक्रिया प्रवाह के बारे में क्या? चिंता मत करो, यहाँ यह है।
Server -> Disk -> Memory -> App
डिफ़ॉल्ट रूप से, वे विस्तारित कैश रखने के लिए पहले एक स्थानीय डिस्क में संग्रहीत करेंगे। फिर मेमोरी, कैश के उदाहरण के उपयोग के लिए।
आप पिकासो में अंतर्निहित संकेतक का उपयोग करके यह देख सकते हैं कि इसे सक्षम करने से चित्र कहां बनते हैं।
Picasso.get().setIndicatorEnabled(true);
यह आपकी तस्वीरों के ऊपरी बाएँ कोने पर एक झंडा दिखाएगा।
- लाल झंडे का मतलब है कि चित्र सर्वर से आते हैं। (पहले लोड पर कोई कैशिंग नहीं)
- ब्लू फ्लैग का मतलब है कि तस्वीरें स्थानीय डिस्क से आती हैं। (कैशिंग)
- हरे झंडे का मतलब है कि चित्र मेमोरी से आते हैं। (इंस्टेंस कैशिंग)
Q2 : मैं डिस्क कैशिंग कैसे सक्षम कर सकता हूं क्योंकि मैं एक ही छवि का कई बार उपयोग करूंगा?
A2 : आपको इसे सक्षम करने की आवश्यकता नहीं है। यह डिफ़ॉल्ट है।
आपको क्या करने की आवश्यकता होगी है अक्षम है जब आप अपने छवियों को हमेशा ताजा चाहते हैं कि उसे। विकलांग कैशिंग का 2-तरीका है।
- सेट
.memoryPolicy()
करने के लिए NO_CACHE और / या NO_STORE और प्रवाह इस तरह दिखेगा।
NO_CACHE मेमोरी से चित्र देखना छोड़ देगा।
App -> Disk -> Server
NO_STORE मेमोरी में स्टोर छवियों को छोड़ देगा जब पहला लोड छवियाँ।
Server -> Disk -> App
- सेट
.networkPolicy()
करने के लिए NO_CACHE और / या NO_STORE और प्रवाह इस तरह दिखेगा।
NO_CACHE डिस्क से चित्र देखना छोड़ देगा।
App -> Memory -> Server
NO_STORE डिस्क में स्टोर छवियों को छोड़ देगा जब पहले लोड चित्र।
Server -> Memory -> App
आप पूरी तरह से कोई कैशिंग छवियों के लिए न तो अक्षम कर सकते हैं। यहाँ एक उदाहरण है।
Picasso.get().load(imageUrl)
.memoryPolicy(MemoryPolicy.NO_CACHE,MemoryPolicy.NO_STORE)
.networkPolicy(NetworkPolicy.NO_CACHE, NetworkPolicy.NO_STORE)
.fit().into(banner);
पूरी तरह से बिना कैशिंग और कोई भंडारण के प्रवाह इस तरह दिखाई देगा।
App -> Server //Request
Server -> App //Response
तो, आपको अपने एप्लिकेशन संग्रहण उपयोग को भी छोटा करने की आवश्यकता हो सकती है।
Q3 : क्या मुझे एंड्रॉइड मैनिफ़ेस्ट फ़ाइल में कुछ डिस्क अनुमति जोड़ने की आवश्यकता है?
A3 : नहीं, लेकिन अपने HTTP अनुरोध के लिए INTERNET अनुमति जोड़ना न भूलें।