Iphone ScrollView作为PhotoViewer,仅在需要时加载图像

Iphone ScrollView作为PhotoViewer,仅在需要时加载图像,iphone,xcode,uiscrollview,uiimageview,Iphone,Xcode,Uiscrollview,Uiimageview,我想为iPhone创建一个PhotoViewer 为此,我已经创建了一个启用了分页的ScrollView,我通过编程方式添加UIImageView。我看到的问题是,如果我想要100个图像,并且我会全部添加到ScrollView中,这将需要大量的性能和内存 你将如何使它更有效?我考虑加载下面两页的图像,并在滚动页面之前在这两张图像之后释放这些图像 我考虑创建一个子类UIScrollView,并将其命名为UIPhotoScroller(或类似的名称)。但我还想在主窗口中显示一个UIView,其中包含

我想为iPhone创建一个PhotoViewer

为此,我已经创建了一个启用了分页的ScrollView,我通过编程方式添加UIImageView。我看到的问题是,如果我想要100个图像,并且我会全部添加到ScrollView中,这将需要大量的性能和内存

你将如何使它更有效?我考虑加载下面两页的图像,并在滚动页面之前在这两张图像之后释放这些图像

我考虑创建一个子类UIScrollView,并将其命名为UIPhotoScroller(或类似的名称)。但我还想在主窗口中显示一个UIView,其中包含有关图像的信息。是否可以使UIView从子类可见


你真的会帮我的。提前感谢您:D

每个单元格有一张照片的UITableView如何。当数据源请求单元格时,您将显示微调器,并让排队的NSO操作加载图像,完成后刷新行。
您可以使用NSQueue控制并发操作的数量,因此您可以完全控制性能/响应性。然后,当内存/分页等不足时,可以删除旧的缓存图像

如果您需要水平滚动,有一些解决方案。

您看过了吗?这里有一个创建像照片查看器这样的优秀照片应用程序的示例,使用three20库非常容易

希望这有帮助

  • 创建一个NSCache
  • 当您需要特定的图像时,请尝试从缓存中获取它。如果它不在那里,请从磁盘加载并保存在缓存中。文件名是一个合适的键
  • 当收到内存警告时,告诉缓存清空自身
  • 缓存将定期释放一些条目,具体取决于配置方式。这是一件好事,但您可能需要将其调整为具有特定的总内存大小。调整其参数,直到其行为符合您的要求。要查看内存使用情况,请使用仪器

  • “UIView从子类可见”是什么意思?如果用户点击ScrollView子类中的图像,我想用XIB中ScrollView子类的信息显示UIView