【问题标题】:iOS: Best approach for image gallery [Image Caching]iOS:图像库的最佳方法 [图像缓存]
【发布时间】:2012-06-19 17:53:56
【问题描述】:

我必须为 iPhone iOS 实现一个图片库。图片是基于包含图片 URL 的 XML 文档从 Web 加载的。我的问题是 - 实现某个图库的所有图片的图库概览的最佳方法是什么? (所有图片同时呈现给用户,就像在 GridView 中一样。这个问题主要关注性能问题,因为一个画廊可以有超过 100 张照片 - 每张照片的大小都为 100KB 或更大)。

我已经尝试实现一个简单的视图,它由多个 UIImageViews(行和列)组成,其中图像被异步加载。但是应用程序崩溃并显示内存不足警告,所以我必须按需加载图片,而不是一次全部加载。

实施此类图库概览的最佳方式是什么?例如,每个单元格使用带有 3 张图片的 UITableView?还是使用分页的 UIScrollView 更好,用户可以在页面之间切换,每个页面呈现 12 张左右的图片?

主要问题是图像的缓存。很高兴得到一些提示。

【问题讨论】:

    标签: ios performance caching uiimageview image-gallery


    【解决方案1】:

    无论您使用哪种解决方案,您都可以缓存图像,要缓存图像,您可以实现自己的缓存机制或使用已经疯狂的缓存机制(我选择第二种选择)我通常使用 ASIHTTPRequest,更具体地说,我使用 @987654321 @查看他们的文档,但它非常易于使用

    【讨论】:

    • 这样就可以缓存从网络加载的大量图片而不会收到内存警告? (或处理高内存使用)。我的问题与将 http 请求的数量保持在最低限度无关,而是与缓存大量图片有关。
    • 这将为您提供一种快速访问下载图像的方法,您需要做的是在图像不在屏幕上时将其删除,然后从缓存中重新加载,此解决方案为您提供什么,自缓存以来,图像的重新加载速度很快
    • 现在我只需要弄清楚如何确定图像是否在屏幕上。单个图像视图很容易 - 但是当我使用网格视图一次显示几个图像时,这是如何完成的?
    • 您可以在自定义类中使用 removeFromSuperView ,实现该功能并手动删除所有图像
    猜你喜欢
    • 1970-01-01
    • 2012-07-15
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 2011-01-27
    • 1970-01-01
    相关资源
    最近更新 更多