【问题标题】:App like default photo browser in iphone?iPhone中的默认照片浏览器之类的应用程序?
【发布时间】:2010-05-20 04:56:40
【问题描述】:

我正在开发一个应用程序,其中包含 iphone 中的默认照片浏览器等功能。我做了一些类似的事情。但是在从远程服务器加载一些(大约 10-15 个)图像后,我收到内存警告。我的要求是一张一张地加载图像。为此,在滚动视图上,我放置了图像并增加了滚动视图的 contentSize。它会正常工作。但由于内存警告应用相当。

伙计们,有没有人知道如何使用这个功能,它类似于照片应用程序没有问题?

提前致谢。

【问题讨论】:

    标签: iphone photo-gallery


    【解决方案1】:

    内存不足是因为您一次将 10 个或更多图像的数据保存在内存中。您需要在代码中包含更多逻辑,不仅可以预加载和增加滚动视图的内容大小,还可以在用户滚动到更新的内容时从滚动视图(以及因此从内存)中删除 UIImageViews。 (您还可以将“驱逐”图像保存到磁盘上的缓存区域,这样如果用户向后滚动,您就不必再次访问服务器。)

    【讨论】:

    • 感谢 quixoto 的好主意。这种方法的任何示例代码对我来说都会好得多 PLZZZZZZZZ
    • 我自己也没有什么得心应手的。这是一种非常依赖应用程序的事情。在滚动视图中保留一组“页面”,将其用作队列,并在每次前进时剔除最近的一个。
    • 我已经实现了类似的东西。但要让它好起来并不容易。如果您在用户处于幻灯片移动的中间时开始加载内容,它会看起来很糟糕,因为幻灯片会结结巴巴。我正在后台线程上进行一些加载,但仍然有很多调整可以让它在所有新旧设备上运行良好。为了方便您,您可以放弃对旧的、速度较慢的设备的支持,并一次在内存中保留更多“页面”以最大限度地减少加载次数。然后再有人可能有更好的解决方案......Apple的相册应用程序显示“预览”图像的低分辨率版本等。
    【解决方案2】:

    如果您使用 UITableView,它只会在需要时请求图像,并会自动清除屏幕外的单元格以节省内存。不过,它可能不适合您的应用程序。

    【讨论】:

      猜你喜欢
      • 2018-03-25
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 2017-03-03
      • 2012-07-06
      • 2023-03-29
      相关资源
      最近更新 更多