我有一个
UIViewController
用一个
UITableView
在我的应用程序中。该表有12行。我只是在每一行中添加了一个图像(40px x 40px),其中包含以下简单的代码行
tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
:
cell.imageView?.image = UIImage(named: "<image_name_for_row>")
执行此操作后,页面显示所需的时间增加了约3倍。这是我对代码所做的唯一更改。第一次显示页面后,如果我再次显示视图控制器的相同实例,它几乎会立即显示;基本上和我添加图像之前一样快。因此,我只能假设在页面第一次显示后,图像会被缓存到某个位置。。。
有没有办法在应用程序加载时缓存图像,以避免我第一次显示视图时出现非常明显的延迟?
我尝试输入以下代码
application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?)
:
menuViewController.view.setNeedsLayout()
但是,这并没有减少页面加载时间。这也未能缩短加载时间:
_ = UIImage(named: "menu_row_1")
...
_ = UIImage(named: "menu_row_12")
有什么建议吗?