সর্বাধিক আপডেট করা সংস্করণ 2.71828 এর জন্য এটি আপনার উত্তর।
প্রশ্ন 1 : এটিতে স্থানীয় ডিস্ক ক্যাশে নেই?
এ 1 : পিকাসোর মধ্যে ডিফল্ট ক্যাশে রয়েছে এবং অনুরোধটি ঠিক এর মতো প্রবাহিত হয়েছে
App -> Memory -> Disk -> Server
তারা যেখানে প্রথমে তাদের চিত্রের সাথে দেখা করেছে, তারা সেই চিত্রটি ব্যবহার করবে এবং তারপরে অনুরোধ প্রবাহকে থামিয়ে দেবে। প্রতিক্রিয়া প্রবাহ সম্পর্কে কি? চিন্তা করবেন না, এটি এখানে।
Server -> Disk -> Memory -> App
ডিফল্টরূপে, তারা বর্ধিত রাখার ক্যাশে প্রথমে একটি স্থানীয় ডিস্কে সঞ্চয় করবে। তারপরে মেমরিটি, উদাহরণস্বরূপ ক্যাশে ব্যবহারের জন্য।
এটি সক্ষম করে ছবিগুলি কোথায় তৈরি হয় তা দেখতে আপনি পিকাসোর অন্তর্নির্মিত সূচকটি ব্যবহার করতে পারেন।
Picasso.get().setIndicatorEnabled(true);
এটি আপনার ছবিগুলির উপরের বাম কোণে একটি পতাকা প্রদর্শন করবে।
- লাল পতাকা মানে ছবিগুলি সার্ভার থেকে আসে। (প্রথম লোডে কোনও ক্যাশে নেই)
- নীল পতাকা মানে ছবিগুলি স্থানীয় ডিস্ক থেকে আসে। (ক্যাশিং)
- সবুজ পতাকা মানে চিত্রগুলি মেমরি থেকে আসে। (ইনস্ট্যান্স ক্যাচিং)
প্রশ্ন 2 : আমি একই চিত্রটি একাধিকবার ব্যবহার করব বলে আমি কীভাবে ডিস্ক ক্যাচিং সক্ষম করব?
এ 2 : আপনার এটি সক্ষম করতে হবে না। এটি ডিফল্ট।
আপনি যখন যা করতে চান আপনার চিত্রগুলি সর্বদা সতেজ থাকে তা আপনার অক্ষম করা উচিত। অক্ষম ক্যাশিংয়ের 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
কোনও প্রথম চিত্র যখন লোড হবে তখন কোনও ডিস্কে স্টোর চিত্রগুলি এড়িয়ে যাবে।
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 : অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলটিতে আমার কিছু ডিস্ক অনুমতি যুক্ত করার দরকার আছে?
এ 3 : না, তবে আপনার এইচটিটিপি অনুরোধের জন্য ইন্টারনেট অনুমতি যুক্ত করতে ভুলবেন না।