मैं कैश से बिटमैप निकालने और इसे कहीं और सहेजने के लिए ग्लाइड का उपयोग कर रहा हूं। नीचे प्रासंगिक कार्य (इस post पर आधारित :) निष्कर्षण को ट्रिगर करने में विफल रहता है। वास्तव में, लॉग लाइन 'Log.d (TAG, "निष्कर्षण शुरू करने के बारे में");' नीचे ट्रिगर नहीं होता है।ग्लाइड छवि निष्कर्षण
किसी भी विचार पर क्यों सरल लक्ष्य कार्य कभी नहीं कहा जाता है?
public byte[] extractImageFromCache(Context context, String pictureURL) {
byte[] byteArray = new byte[0];
if (context != null && pictureURL != null && !pictureURL.isEmpty()) {
final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
Glide.with(context)
.load(pictureURL)
.asBitmap()
.toBytes()
.diskCacheStrategy(DiskCacheStrategy.SOURCE) // Load the original hires image
.into(new SimpleTarget<byte[]>() {
@Override public void onResourceReady(final byte[] resource, GlideAnimation<? super byte[]> glideAnimation) {
Log.d(TAG, "About to start extraction");
new AsyncTask<Void, Void, Void>() {
@Override protected Void doInBackground(Void... params) {
Log.d(TAG, "Start extraction");
try {
Log.d(TAG, "Image bytes len: " + resource.length);
byteArrayOutputStream.write(resource);
byteArrayOutputStream.flush();
} catch (IOException e) {
e.printStackTrace();
Log.i(TAG, "Unable to load image: " + pictureURL);
e.printStackTrace();
}
return null;
}
}.execute();
}
});
Log.d(TAG, String.format("Got image bytes: %d for %s", byteArrayOutputStream.size(), pictureURL));
return byteArrayOutputStream.toByteArray();
}
return null;
}
क्या आप लॉगकैट पोस्ट कर सकते हैं? – azizbekian
आप इस समारोह को कहां कॉल करते हैं? – rom4ek
ग्लाइड संस्करण का उल्लेख करें, मैंने आपके कोड की कोशिश की है और यह पूरी तरह से 'ग्लाइड: 3.7.0' – Maddy