Objective c 如何优化50+;下载的图像

Objective c 如何优化50+;下载的图像,objective-c,ipad,ios,optimization,nsurlconnection,Objective C,Ipad,Ios,Optimization,Nsurlconnection,我有一个iPad应用程序,有大约50多个全屏图像(png),我希望能够在图像之间来回切换。为了缩小应用程序的大小,我正在使用NSURLConnection根据需要下载图像。我还缓存了大约15幅图像。我遇到的问题是,即使我有一个缓存,也很容易通过缓存翻转到尚未下载的图像 我想知道你有什么建议来解决我的问题。我应该增加缓存还是降低图像的分辨率?我是否必须限制同时下载的图像数量?非常感谢 这是我开始下载每个图像的方式 NSURLConnection *conn = [[NSURLConnection

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

我想知道你有什么建议来解决我的问题。我应该增加缓存还是降低图像的分辨率?我是否必须限制同时下载的图像数量?非常感谢

这是我开始下载每个图像的方式

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

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

[conn start];

关于下载后翻阅照片的问题,这里有一些小贴士可以尝试

  • 提供低分辨率和高分辨率版本的照片
  • 无论何时加载一张图片,都要将其近邻的高分辨率版本带入内存。换句话说,加载,但不显示这些图片
  • 将低分辨率图像加载到显示图片周围某个范围的内存中。因此,如果显示图片5,并且您的范围为5,则加载lowres图片0到10
  • 当用户浏览时,首先渲染低分辨率,然后加载高分辨率图片

这些提示应该说明用户浏览几张图片以找到所需的照片,然后在选定的图片上暂停,然后再浏览更多的图片。

关于下载后浏览照片的问题,这里有一些提示可以尝试

  • 提供低分辨率和高分辨率版本的照片
  • 无论何时加载一张图片,都要将其近邻的高分辨率版本带入内存。换句话说,加载,但不显示这些图片
  • 将低分辨率图像加载到显示图片周围某个范围的内存中。因此,如果显示图片5,并且您的范围为5,则加载lowres图片0到10
  • 当用户浏览时,首先渲染低分辨率,然后加载高分辨率图片

这些提示应该说明用户浏览几张图片以找到所需的图片,然后在选定的图片上暂停,然后再浏览更多的图片。

在开始图像显示之前,您知道总共有多少张图像吗?(你只需在每个插槽中显示一个占位符图像,直到NSURLConnection提供必要的连接。)也就是说,在下载图像时将其缓存在你的应用程序文档目录中不会引起任何问题。(从各方面考虑,数据并不是那么多。)在开始图像显示之前,您知道总共有多少图像吗?(你只需在每个插槽中显示一个占位符图像,直到NSURLConnection提供必要的连接。)也就是说,在下载图像时将其缓存在你的应用程序文档目录中不会引起任何问题。(从各方面考虑,数据并不多。)谢谢你的建议。