के लिए प्री-कैश छवियां जब मेरा ऐप लोड होता है, तो मैं 99 ऑब्जेक्ट्स का JSON प्रतिनिधित्व खींचता हूं।AFNetworking की UIImageView श्रेणी
प्रत्येक ऑब्जेक्ट में 'image_url' फ़ील्ड होता है, जिसे मैं AFNetworking के setImageWithURLRequest
पर भेजता हूं।
मेरी छवियां तालिका में लोड होती हैं, और इसके परिणामस्वरूप, केवल पहले कई कक्ष अपनी छवियों के लिए अनुरोध करते हैं। यह तब तक नहीं है जब तक मैं स्क्रॉल नहीं करता कि बाद के छवि अनुरोध किए गए हैं।
एक बार जब मैं प्रारंभिक डेटासेट खींचता हूं, तो मैं उस पृष्ठभूमि प्रक्रिया को बंद करने में सक्षम होना चाहता हूं जो 95 या इतनी वस्तुओं को शुरू करता है जो प्रारंभ में दिखाई नहीं दे रहे हैं, और उन्हें इस तरह से कैश करें जब setImageWithURLRequest
कहा जाता है, तो इसमें पहले से ही एक कैश की गई छवि होगी।
एएफआईमेज कैश निजी है, इसलिए मुझे यकीन नहीं है कि यह संभव है या नहीं। मुझे पता है कि मैं NSURLCache के साथ कैश कर सकता हूं, लेकिन फिर मेरे पास दो अलग, पृथक कैश होंगे, और यह आदर्श भी नहीं है।
क्या मेरा एकमात्र विकल्प AFNetworking की UIImageView श्रेणी का उपयोग नहीं करना है?
ये जवाब मुझे ऐसा लगता है कि:
iOS Caching images with AFImageCache doesn't seem to work
How to configure the cache when using AFNetworking's setImageWithURL
रैम में 95 छवियों को कैशिंग में बहुत सारे रैम लगेगा। यदि आप ऐसा करते हैं तो कृपया निर्मित कैश का उपयोग न करें, लेकिन कैश निर्देशिका में डिस्क कैश में बनाएं। –
मुझे बिल्कुल वही समस्या है। मैं डिस्क पर छवियों को कैशिंग कर रहा हूँ। लेकिन जब मैं उन्हें कैश से लोड करने की कोशिश कर रहा हूं, कभी-कभी वे नहीं मिलते हैं। मैंने http://stackoverflow.com/questions/12882639/how-should-i-pre-load-all-images-and-cache-them-using-afnetworking – Burak