gpt4 book ai didi

ios - Swift 慢速 collectionView

转载 作者:行者123 更新时间:2023-11-28 11:21:45 25 4
gpt4 key购买 nike

我有一个 Collection View ,可以获取我存储的图像并显示它们。但是,当我运行它时,出现内存错误和非常慢/滞后的显示。这是我的代码:

var players = ["1", "2", "3", "4", "5", "10", "11", "12", "13", "15", "20", "22", "24", "25", "31", "31", "33", "34"]


@IBOutlet weak var collectionView: UICollectionView!
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

return 17


}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("MyCell", forIndexPath: indexPath) as HomeCollectionViewCell
cell.imageViewTwo.image = UIImage(named: "\(players[indexPath.row])")
return cell
}

有没有我缺少的更简单的方法?

最佳答案

您应该使用 Instruments 找出缓慢的原因。这就是它的用途!

但是,我猜这行就是问题所在:

cell.imageViewTwo.image = UIImage(named: "\(players[indexPath.row])")

如果这些图像很大,则会发生两件坏事:打开每个图像都需要时间,并且您正在浪费内存,因为显示的图像比加载的图像小得多。当您滚动时,就会发生这种情况。正是出于这个原因,您在 cellForItemAtIndexPath: 中所做的一切都需要非常非常快。嗯,您的实现显然不快。

您有两个选择 - 实际上您可以同时使用:

  • 准备更好的图像。使用 png 并以显示所需的实际大小使用它们。

  • 使用延迟图像加载,这样您就可以在后台线程中加载图像,而不会减慢滚动速度。

关于ios - Swift 慢速 collectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27285562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com