fix recycle asset bitmap improperly (#935)
diff --git a/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java b/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java
index 1630613..6f1764d 100644
--- a/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java
+++ b/lottie/src/main/java/com/airbnb/lottie/manager/ImageAssetManager.java
@@ -118,14 +118,13 @@
public void recycleBitmaps() {
synchronized (bitmapHashLock) {
- Iterator<Map.Entry<String, LottieImageAsset>> it = imageAssets.entrySet().iterator();
- while (it.hasNext()) {
- Map.Entry<String, LottieImageAsset> entry = it.next();
- Bitmap bitmap = entry.getValue().getBitmap();
+ for (Map.Entry<String, LottieImageAsset> entry : imageAssets.entrySet()) {
+ LottieImageAsset asset = entry.getValue();
+ Bitmap bitmap = asset.getBitmap();
if (bitmap != null) {
bitmap.recycle();
+ asset.setBitmap(null);
}
- it.remove();
}
}
}