TwitterスタイルのListViewを作成しようとしていますが、同じリストで同じImageViewを複数回再利用できませんでした。複数のコピーをロードすることは無駄であるように思われ、UI仮想化のためにスクロールが遅くなります。回避策はありますか?
public class TwitterCell extends ListCell<Object> {
private static HashMap<String, ImageView> images = new HashMap<String, ImageView>();
@Override
protected void updateItem(Object tweet, boolean empty) {
super.updateItem(tweet, empty);
Tweet t = (Tweet) tweet;
if (t != null) {
String message = t.getMessage();
setText(message);
String imageUrl = t.getImageUrl();
if (!images.containsKey(imageUrl)) {
images.put(imageUrl, new ImageView(imageUrl));
}
setGraphic(images.get(imageUrl));
}
}