2011-03-08 45 views
1

我有一个iPad应用程序,大约有50多个全屏图像(PNG),我希望能够在图像之间来回翻转。为了缩小应用程序的尺寸,我使用NSURLConnection,根据需要下载图像。我也缓存大约15个图像。我遇到的问题是,即使我有一个缓存,它很容易翻转缓存和尚未下载的图像。如何优化通过下载的50多个图像翻转

我想知道你有什么建议,以解决我的问题。我应该只是增加缓存还是应该下载图片?我是否必须同时限制下载的图像数量?非常感谢!

我这是怎么开始的每个图像下载

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:[NSURLRequest 
      requestWithURL:[NSURL URLWithString:theUrlString]] 
      delegate:self startImmediately:NO]; 

[conn scheduleInRunLoop:[NSRunLoop mainRunLoop] 
      forMode:NSRunLoopCommonModes]; 

[conn start]; 
+0

在开始图像显示之前,您是否知道总共有多少图像? (您可以简单地在每个插槽中显示占位符图像,直到NSURLConnection提供必要的信息为止。)也就是说,在下载应用程序文档目录时缓存图像不应导致我曾想过的任何问题。 (这不是* *所有事情都考虑过很多数据。) – 2011-03-08 22:11:38

+0

谢谢middaparka。 – Caroline 2011-03-09 14:47:06

回答

1

关于通过照片翻转一旦被下载,这里有一些提示,以尝试。

  • 同时提供低分辨率和高分辨率照片版本。
  • 每当您加载一张图片时,请将其最近邻居的高版本存入内存。换句话说,加载,但不要显示这些图片。
  • 将低分辨率图像加载到显示图片周围某些范围的存储器中。因此,如果显示图片5并且范围是5,则加载低分辨率图片0到10
  • 当用户翻动时,首先渲染低分辨率,然后加载高分辨率图片。

这些提示应该说明用户翻阅几张照片来找到想要的照片,然后在选定的照片上暂停,然后翻转一些。

+0

amccormack感谢您的建议。 – Caroline 2011-03-09 14:44:45