Tag: android glide

Android Glide库NoClassDefFoundError

我错误地使用了Glide库吗? 可能是什么问题呢? protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = (ImageView) findViewById(R.id.imageView1); Glide.with(this).load(R.drawable.salads_caesar_salad).into(iv); }

如何在Glide中将交叉渐变动画添加到GenericRequestBuilder

我用这个构建器加载图像 Glide.with(ctx) .using(new FileModelLoader(downlaoder), FilePath.class) .from(FileReference.class) .as(Bitmap.class) .decoder(new FilePathDecoder(ctx)) .diskCacheStrategy(DiskCacheStrategy.NONE); 问题是:没有交叉淡入淡出动画。 那我怎么回来呢? 我需要一个自定义的ResourceDecoder,因为对于某些模型,我必须加载带有透明度的webp,这在所有Android版本上都不受支持。 所以我的问题是如何将crossfadeAnimation返回到我的GenericRequestBuilder?

在Android中清除Glide图像缓存

我正在使用滑动库来显示图像。 我试图通过使用以下代码清除滑动缓存: Glide.get(MainActivity.this).clearDiskCache(); Glide.get(MainActivity.this).clearMemory(); 上面的代码在Async中,我在Do背景部分调用。 当我运行这个时,我总是得到: Caused by: java.lang.IllegalArgumentException: You must call this method on the main thread at com.bumptech.glide.util.Util.assertMainThread(Util.java:135) at com.bumptech.glide.Glide.clearMemory(Glide.java:370) 这可能有什么问题? 如果我在MainThread中使用上面的内容,则要求在后台运行它。 如何清除缓存? 谢谢!

将100多个字符串转换为字节数组时的java.lang.OutOfMemoryError

首先,我理解有关java.lang.OutOfMemoryError和Bitmaps的问题,之前已经多次询问过。 我还检查了有效显示位图页面。 我的用例: 我在SQLite数据库中存储两个不同大小的位图作为字符串。 位图的第一个尺寸是屏幕宽度的50%,第二个尺寸是屏幕宽度的100%。 我正在使用RecyclerView,它在ImageViews中显示图像,这些图像是屏幕宽度的50%或100%,因此加载的位图并不比它们需要的大,并且在从图像中检索图像之前它们的大小合适。数据库。 我也使用AsyncTask加载位图。 我在RecyclerView中有超过180个不同的项目,因此我创建了总共超过360个位图(即numberOfimages * theDifferentSizesOfEachImage)。 我通过以下代码将图像的String版本转换为字节数组: byte [] byteArray = Base64.decode(encodedString, Base64.DEFAULT); 问题 除非我重新启动相同的Activity(例如加载Activity,然后通过在导航抽屉中再次单击它重新创建Activity,然后重复该过程),Activity可以加载大约170个不同的图像而不会发生java.lang.OutOfMemoryError 。 )并在将字符串转换为字节数组时引发了java.lang.OutOfMemoryError 。 我使用以下代码使用Glide库将字节数组转换为Bitmap: Bitmap bitmap = Glide.with(context).load(byteArray).asBitmap() .dontTransform().dontAnimate().skipMemoryCache(true) .diskCacheStrategy(DiskCacheStrategy.NONE).into(-1, -1).get(); 我的问题简而言之 在将字符串转换为字节数组时,如何避免发生java.lang.OutOfMemoryError ? 注意 使用Glide创建一个Bitmap后,我在给定的Bitmap上调用recycle(),然后将其设置为null 。 我也已在我的Android Manifest中使用android:largeHeap=”true” 提前致谢 编辑 以下是我创建Bitmap字符串的方法: ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.WEBP,100, baos); byte [] b =baos.toByteArray(); String bitmapString = […]

使用Glide从Firebase存储中获取图像

我正在尝试使用Glide从Firebase存储加载图像但我收到错误。 package com.kanishq.wallpaper; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.firebase.ui.storage.images.FirebaseImageLoader; import com.google.firebase.storage.FirebaseStorage; import com.google.firebase.storage.StorageReference; public class Picture_act extends AppCompatActivity{ ImageView i1; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.picture_activity); FirebaseStorage storage = FirebaseStorage.getInstance(); StorageReference storageReference = storage.getReference(); i1 = (ImageView) findViewById(R.id.full_picture); Glide.with(this).using(new FirebaseImageLoader()).load(storageReference).into(i1); } } Gradle文件 – dependencies { […]