Glide を使用してビットマップを読み込んで gif を作成しています。
for (int i = 0, count = files.size(); i < count; i++) {
Bitmap img = Glide.with(context)
.load(files.get(i))
.asBitmap()
.centerCrop()
.into(GIF_EXPORT_SIZE / 2, GIF_EXPORT_SIZE / 2)
.get();
// addFrame creates a copy of img, so we can re-use this bitmap
encoder.addFrame(img);
}
このビットマップをリサイクルしたり、Glide BitmapPool に戻したりするのは誰の責任ですか? Glide が自動的に、または を使用して再利用する方法はないようですclear()
。
次のようなものを使用してビットマップをプールに直接追加することを検討しましたGlide.get(context).getBitmapPool().put(img)
が、ドキュメントによると、ビットマッププールを直接使用すると、未定義の動作が発生する可能性があります。