我正在构建一个包含总共约 65 MB 数据的应用程序,其中大部分数据以图像的形式存储为类的实例。现在应用程序运行良好,除了一件事:加载包含所有这些信息的 ViewController 大约需要 10 秒。在应用程序打开或被带到前台后第一次加载页面时会发生这种情况。
下面是代码(除了有很多很多 AnatomyView 类的实例):
class SectionViewController: UIViewController, UIScrollViewDelegate {
class AnatomyView {
var viewName: String = ""
var normalImage: UIImage = UIImage(named: "Logo.jpg")!
var markedImage: UIImage = UIImage(named: "Logo.jpg")!
var steps: [UIImage] = []
var attribution: String = ""
init(viewName: String, normalImage: UIImage, markedImage: UIImage, steps: [UIImage], attribution: String){
self.viewName = viewName
self.normalImage = normalImage
self.markedImage = markedImage
self.steps = steps
self.attribution = attribution
}
}
let lateralYShoulder = AnatomyView(
viewName: "Lateral Y",
normalImage: UIImage(named: "Lateral Y Normal Unmarked.jpg")!,
markedImage: UIImage(named: "Lateral Y Normal Marked.jpg")!,
steps: [UIImage(named: "Lateral Y Step 1.jpg")!, UIImage(named: "Lateral Y Step 2.jpg")!],
attribution: "Case courtesy of Mr Andrew Murphy\nRadiopaedia.org, rID: 48080"
)
减少加载时间的策略有哪些?有没有办法将数据存储在其他地方,然后只导入需要的数据?如此长的加载时间会使该应用完全无法使用。
最佳答案
您需要如图所示加载信息,如果您使用 UIScrollView 显示所有信息,加载时间会很长,但如果您使用 UICollectionView 或 UITableView 以网格方式划分信息,则内容加载为用户滚动,时间下降了很多。
关于ios - 如何最小化包含大量图像的 Swift 页面的加载时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48241495/