पर बिटमैप लोड करने के लिए ग्लाइड का उपयोग करें मैं बिटमैप को क्रॉप करने और फिर से आकार देने के बाद ImageView पर बिटमैप लोड करने के लिए ग्लाइड का उपयोग करना चाहता हूं।ImageView
मैं ImageView.setImageBitmap(bitmap);
का उपयोग नहीं करना चाहता क्योंकि मैं बहुत सारी छवियां लोड कर रहा हूं और यह कुछ स्मृति ले रहा है, हालांकि छवियों का आकार छोटा है, मुझे बस ग्लाइड का उपयोग करने की आवश्यकता है क्योंकि मुझे पता है कि यह छवि कैशिंग को अनुकूलित करता है।
मैंने this पोस्ट पढ़ा, लेकिन जब मैंने इसे कार्यान्वित करने का प्रयास किया तो मुझे उनके समाधान को काफी समझ में नहीं आया। तो शायद किसी के पास एक क्लीनर और अधिक आसानी से समझने योग्य समाधान हो।
यह मेरा कोड है जो एक छवि को उठाता है और इसमें से एक बिटमैप बनाता है।
मुझे ImageView.setImageBitmap(bitmap);
के बजाय ग्लाइड का उपयोग करने की आवश्यकता है।
new AsyncTask<String, Void, Void>() {
Bitmap theBitmap = null;
Bitmap bm = null;
@Override
protected Void doInBackground(String... params) {
String TAG = "Error Message: ";
try {
//Load the image into bitmap
theBitmap = Glide.
with(mContext).
load("http://example.com/imageurl").
asBitmap().
into(-1, -1).
get();
//resizes the image to a smaller dimension out of the main image.
bm = Bitmap.createBitmap(theBitmap, 0, 0, 210, 80);
} catch (final ExecutionException e) {
Log.e(TAG, e.getMessage());
} catch (final InterruptedException e) {
Log.e(TAG, e.getMessage());
} catch (final NullPointerException e) {
//
}
return null;
}
@Override
protected void onPostExecute(Void dummy) {
if (null != theBitmap) {
//Set image to imageview.
**// I would like to Use Glide to set the image view here Instead of .setImageBitmap function**
holder.mImageView.setImageBitmap(bm);
holder.mImageView.setAdjustViewBounds(true);
holder.mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
}
}
}.execute();
क्या आप मुझे बता सकते हैं कि आपकी समस्या क्या है? बिटमैप शून्य है या आपका 'छवि दृश्य' सफेद वर्ग दिखाता है? –
नहीं, बिटमैप शून्य नहीं है, मुझे बिटमैप छवि को सीधे इसे सेट करने के बजाय ImageView में सेट करने के लिए ग्लाइड का उपयोग करने की आवश्यकता है। –
कारण इसलिए है क्योंकि मैं बहुत सारी छवियां लोड कर रहा हूं, जिन्हें मेमोरी कैशिंग की आवश्यकता है। क्या आप मेरा मतलब समझ सकते हैं? –