從Firebase Storage匯入圖片放入ImageView時,出現圖片不可見的問題。
在我看來,原因是影像的尺寸很大。
當我匯入我保留的影像時,我想我需要減小影像的大小。有解決辦法嗎?
這是我的代碼。
part.orderByChild("Art_ID").equalTo(art_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot asnap: snapshot.getChildren()){
Log.i("ValueArtinfo", asnap.getValue().toString());
String art_filename = asnap.child("Filename").getValue(String.class);
StorageReference sart = storage.getReferenceFromUrl("gs://myaddressxxx.com/Art/" art_filename ".jpg");
// Bitmap bm = BitmapFactory.decodeFile(String.valueOf(sart));
// Bitmap bm = ShrinkBitmap(sart, 300, 300);
Glide.with(getApplicationContext() ).load(sart).into(str_art);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
throw error.toException();
}
});
這是我的 Firebase 存盤。可以看到,檔案很大,數量在1000左右。

我嘗試了以下解決方案但失敗了。
http://android-coding.blogspot.com/2011/06/reduce-bitmap-size-using.html
uj5u.com熱心網友回復:
是的,有一個 7 Mb 的影像,可以被認為是一個大尺寸的影像。正如@GokulNathKP 在他的回答中提到的那樣,您可以在加載更大的影像時顯示縮略圖,但這并不能解決與影像大小相關的問題。
因此,您擁有的最佳選擇是從一開始就上傳較小尺寸的影像。您可以使用不同的庫調整它們的大小,這樣您最終就可以存盤一個合適大小的影像。通過這種方式,您可以獲得更快的下載速度和更低的支付費用。
uj5u.com熱心網友回復:
也許您可以嘗試加載縮略圖,直到實際影像在后臺加載,使用 Glide。
示例代碼:
Glide.with(context).load("actual-url")
.placeholder(R.drawable.placeholder)
.thumbnail(0.3f) //Quality 0.1 - 1.0
.into(imageHolder);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/369203.html
上一篇:如何獲取子集合檔案所屬的根檔案?
