私は現在次のコードを持っています
while (!visibleTiles.isEmpty())) {
tile = visibleTiles.keySet().iterator().next();
if (tile != null){
bitmap = visibleTiles.remove(tile);
if(bitmap != null && !containsKey(tile)){ //safe to recycle if tile cache is not actively holding it
bitmap.recycle();
}
}
}
ただし、回線でNoSuchElementExceptionがクラッシュします
tile = visibleTiles.keySet().iterator().next();
isEmpty()メソッドの使用とhasNext()呼び出しの呼び出しに大きな違いはありますか?ハッシュマップにはhasNext()呼び出しがないことを知っているので、次のようにしました。
while (visibleTiles.keySet().iterator().hasNext()) {
tile = visibleTiles.keySet().iterator().next();
if (tile != null){
bitmap = visibleTiles.remove(tile);
if(bitmap != null && !containsKey(tile)){ //safe to recycle if tile cache is not actively holding it
bitmap.recycle();
}
}
}
もちろん、アプリを実行してクラッシュするかどうかを確認するだけでよいことはわかっていますが、問題の再現が難しいという問題があります。
ありがとう!