最近為從Firebase Storage讀取圖片有新想法
但對於Android的快取檔案有些疑問,想問問各位先進
剛開始我為求方便,是利用Glide直接下載
並利用加入簽名signature的方式避免一樣檔名的圖片重複下載
StorageReference storageRef =
FirebaseStorage.getInstance().getReference().child("image").child("id");
RequestOptions options = new RequestOptions()
.signature(new ObjectKey("imageID"));
GlideApp.with(context)
.load(storageRef)
.apply(options)
.into(imageView);
目前這種方式運作很正常
但是圖片緩存的時間似乎只維持到程式關閉前?
用戶下次開啟程式似乎又會重新下載?
我一直不太確定這種方式是如何運作,所以想問問各位
因為我看用戶端的要求數與下載流量一直沒變少的跡象
於是我想乾脆讓用戶下載到手機內的cache資料夾
若是cache資料夾內有該檔案則直接取用
Bitmap bitmap = BitmapFactory.decodeFile(file.getPath());
imageView.setImageBitmap(bitmap);
若沒有檔案再去下載,如此便能達到流量的控制
但若日積月累,檔案會越來越多
想請問系統是否會自己清除?還是需要手動去清呢?
因為對於cache的特性比較不清楚,請教各位!