堆疊顯示 OutOfMemoryError 發生在 ImageDecoder.getThumbCache → WebPFactory.nativeDecodeFile,說明解碼大圖時記憶體不足。
setSize(maxWidth, maxHeight) 讓庫自動縮放,避免載入原圖。ImageLoader 調整 maxSize(如 1/8 記憶體)。try {
x.image().bind(imageView, url, options);
} catch (OutOfMemoryError e) {
x.image().clearCacheFiles(); // 清除磁盤緩存
System.gc(); // 建議 GC
// 可選:降級顯示佔位圖
}
libwebpbackport.so,若服務器返回 WebP 且設備不支持,解碼可能異常耗記憶體,建議服務端統一輸出 JPEG/PNG。核心原則:不載入超出螢幕尺寸的圖片、及時釋放緩存、捕獲異常降級。