ios - 从带有 NavigationItem 的目的地返回时,滚动列表的性能缓慢 - SwiftUI
问题描述
我找了很久,直到我发现问题所在。当我的一个目标视图有一个 NavigationItem 时,当我返回到初始列表时,我注意到一个奇怪的行为和 CPU 使用率的增加,只需滚动列表即可。
我的第一个视图是一个内部有一个 foreach 的列表(list - foreach),其中包含一些数组元素。我为每个项目使用 NavigationLink 到我的详细视图
最初,滚动列表可以看到 CPU 使用率最小
当您选择一行时,导航到将包含 NavigationItem 的详细信息视图。到目前为止,我认为一切都很正常。当您返回初始视图并滚动列表时,CPU 使用率的百分比非常高。您开始注意到列表动画的延迟。在此示例中,您可以看到较少,因为列表仅包含字符串,但是当行更复杂时,您会看到更多奇怪的行为。
解决方案不是在我的详细视图中停止使用 NavigationItem。
我不知道是否缺少某些东西,但是在这样一个基本示例中,我找不到问题的解决方案,或者这种奇怪行为的原因。
此代码使用 Xcode 11.5 和 iOS 13.4.1,测试是在设备上执行的
完整的代码在GitHub中,我做了一个小例子来说明这个问题。我以为我只会显示结果并避免发布非常大的帖子。
解决方案
推荐阅读
- python - 在我的情况下如何正确编写 collate_fn?
- javascript - NestJS拦截器在控制器中具有异步方法
- javascript - 使用 Redux 和 Firebase 在 React Native App 中进行身份验证状态评估
- python - Yahoo Finance Api 可以检索索引数据(特别是 Nifty)吗?
- java - 在 IntelliJ 中并行运行同一个 gradle 任务
- java - Java中实际参数列表和形式参数列表的长度不同
- c# - 在字典 C# 中使用 LinkedList?以及如何实现它的操作?
- r - 'sentimentr' 包有意大利语词典吗?
- sql - 如何从 DataGrip 执行 PL/SQL 过程
- python - 如何在python中以不同颜色显示从负值到正值的图像值