【问题标题】:iphone: a way to optimize image loading on scrollview.iphone:一种优化滚动视图上图像加载的方法。
【发布时间】:2011-09-14 20:42:55
【问题描述】:

在我的应用程序中,我使用滚动视图显示图像。我通过在用户滚动时添加视图来避免内存问题。滚动似乎很好,但是当新图像加载到下一个/上一个视图时,它会在一瞬间停止。我试图在 NSThread 上加载图像,但没有提高性能。

我使用[UIImage imageWithData:] 加载图像。我想知道是否有一种方法可以更有效地加载图像。任何有关此问题的 cmets 将不胜感激。

【问题讨论】:

    标签: iphone image scrollview


    【解决方案1】:

    我认为最好的方法是在内存中一次保存三张图片:当前屏幕上的图片、下一屏幕上的图片和前一屏幕上的图片。通过这样做,您可以平滑滚动。您可以在此过程中使用您的 imageWithData 方法。

    如果你改用imageNamed,它会变得更简单,因为如果它有足够的内存,这个方法会缓存图片。所以你只需要通过调用来加载当前图片和下一张图片

    [UIImage imageNamed:@"nextPic"];
    

    通过执行这个,它将图片加载到缓存中但不显示它。下次你必须显示图片时它已经在内存中了。

    【讨论】:

    • 我认为你也可以在后台线程上执行 nextPic 加载。
    • 我保留了 3 张图片,问题是加载新图片时会有开销。我也尝试在后台执行,但没有帮助
    • 图片有多大?是不是比屏幕大很多?
    • 每个大约 150-200k,尺寸各不相同,但在 1100 x 1100 左右
    • 你的图片有多大?为什么这么大?要放大吗?
    猜你喜欢
    • 1970-01-01
    • 2011-07-31
    • 2012-07-04
    • 2011-06-23
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    相关资源
    最近更新 更多