dud*_*ded 2 android image firebase android-glide firebase-storage
我正在开发一个应用程序,需要从其网址加载多个图像。我将所有图像保存在 firebase 存储中。我目前正在使用压缩器来减小尺寸。
newImageFile=new File(uri1.getPath());
try {
compressedImageFile = new Compressor(ProductAdd.this)
.compressToBitmap(newImageFile);
} catch (IOException e) {
e.printStackTrace();
}
baos = new ByteArrayOutputStream();
compressedImageFile.compress(Bitmap.CompressFormat.JPEG, 100, baos);
thumbData1 = baos.toByteArray();
Run Code Online (Sandbox Code Playgroud)
我使用 Glide 从 url 加载图像
Glide.with(context).load(imgUrl).into(holder.cutImg);
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何方法可以改进以更快地加载图像。也许以特定的格式存储它们。
您可以在加载原始图像之前将原始图像的缩略图加载到 ImageView 中。
Glide.with(fragment)
.load(url)
.thumbnail(0.05f)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
这会将原始图像 5% 的质量加载到视图中,当完整图像加载时,它将被替换。
如果您有一个单独的缩略图 URL,那么
Glide.with(fragment)
.load(url)
.thumbnail(
Glide.with(fragment)
.load(thumbnailUrl))
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
现在,当图像加载时,它将立即加载到视图中,在这里您可以使用过渡来获得平滑的效果。
Glide.with(fragment)
.load(url)
.thumbnail(0.05f)
.transition(DrawableTransitionOptions.withCrossFade())
.into(view);
Run Code Online (Sandbox Code Playgroud)
您可以查看我的项目,其中我首先压缩图像并将缩略图存储到 Firebase Storage,然后加载它。
你也可以尝试不同的,DiskCacheStrategies但我建议使用默认的,它工作得很好!
以下是各种 DiskCacheStrategies:
.diskCacheStrategy(DiskCacheStrategy.ALL)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.diskCacheStrategy(DiskCacheStrategy.DATA)
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7103 次 |
| 最近记录: |