为照片库加载图片的最佳方式

时间:2014-03-12 08:54:31

标签: java photo-gallery

我想使用扫描书的jpg文件制作某种书(或某种类型的照片库)。 用户给出他想要去的页面的编号,然后单击按钮 看到这个页面。 我需要知道加载图片的最佳方法是什么。 我正在考虑为每个页面执行此操作:

private ImageIcon image1= new ImageIcon ("1.jpg");
private ImageIcon image2 = new ImageIcon ("2.jpg");
....

然后把图片放在一个数组中等等...... 但我得到了500张照片,加载这样的页面很乏味。 还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

好吧,我可以说最好的方法是延迟加载和预缓存。 延迟加载意味着仅在用户需要时加载图像。例如:

img = 56; // suppose the user want to see page 56
if(images[img] != null) { // images is an array with the images
    images[img] = new ImageIcon (img + ".jpg");
}

此外,您可以访客,当用户看到页面时,他们将看到下一个(预缓存)。因此,您还可以加载以下X页。

PRELOAD = 10; // number of pages to preload
img = 56;
for(int i = 0; i < PRELOAD; i++) {
  if(images[img+i] != null) {
    images[img+i] = new ImageIcon ((img + i) + ".jpg");
  }
}

此外,您可能会认为用户在开始时会始终查看第一页。因此,您可以在程序开头预加载前X页。