scrollView加载大量图片性能优化

在iOS中使用scrollView做图片轮播器、图片查看器是很常见的。如何做图片轮播、查看器呢?

当图片比较少的时候 可以将图片全部加载到scrollView里,这样做容易写代码,代码简单,虽然图片全部占用着没有释放,但是因为图片少,感觉不到,也没什么问题

但是当加载的图片比较多、比较大的时候,这样做就有可能内存溢出,收到内存警告

那该怎样解决呢,网上也有很多例子,我在这说一下我自己的想法和原理,记录一下,方便以后自己用。

yongscrollVIew做图片查看器,加载图片时,加载这张图片的前一张和后一张,分别添加到scrollview。当滑动到下一张时再加载一张,同时移除当前显示的这一张和它相临的两张之外的图片,并释放。这样做可以有效的释放内存,防止内存溢出。当然相邻的图片也可以先加载缩略图,当滑动到那一张时再加载原图。

这样做会多出很多操作,但也会防止,加载图片过多,图片都在内存里,致使内存溢出的状况。


举例:

现在 我们有 1, 2,3 ,4, 5,6  这六张图

现在点击了2 ,scrollView做图片查看器,scrollView应该加载 2 和 它相临的两张,当向右滑动,滑到3的时候,加载4,并且移除1。

如果你做的是轮播的话,你的scrollVIew上一直都是只有三个控件,如果不是轮播的话,当显示首尾时,scrollView上只有两个控件,其他时候有三个


轮播可以参考:https://github.com/MyJus/LJJCycleScrollView

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值