从带有NavigationItem的目的地返回时,滚动列表的性能较慢-SwiftUI

问题描述

我找了很久,直到发现问题。当我的目标视图之一具有NavigationItem时,回到初始列表时,仅通过滚动列表,我注意到一种奇怪的行为和cpu使用率的增加

我的第一个视图是一个内部带有foreach的列表(list-foreach),其中包含数组的某些元素。我将每个项目都使用NavigationLink,转到我的详细信息视图

最初,滚动列表,您可以看到cpu使用率百分比很小

选择一行时,导航到将包含NavigationItem的详细信息视图。至此,我认为一切正常。回到初始视图并滚动列表时,cpu使用率非常高。您开始注意到列表动画中的延迟。在此示例中,由于列表仅包含字符串,因此您看不到什么,但是当行更复杂时,您会看到更多奇怪的行为。

解决方案不是停止在我的详细信息视图中使用NavigationItem。

我不知道是否缺少某些东西,但是在这样的基本示例中,我找不到解决问题的方法或这种奇怪行为的原因。

代码在iOS 13.4.1上使用Xcode 11.5,并且测试是在设备上进行的

完整的代码GitHub中,我做了一个小例子来说明问题。我以为我只显示结果,避免发表过大的文章

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)