因此,我目前正在使用Expansion磁贴列出一个列表,并在通过开发工具分析性能时,发现了一些问题。展开图块时,标题文本的内部版本号异常高。每次按下磁贴时,内部版本号都会增加约17。经过一些测试(在调试内部版本中完成,因为我无法以性能模式跟踪小部件的重新构建),我意识到ExpansionTile
存在问题。实际上,存在此问题确实有意义,因为扩展图块中的标准箭头是动画的。因此,对于动画的每一帧,标题文本都会随之刷新。不幸的是,在列表构建器中使用扩展磁贴时,它只会增加性能下降。是否有一些可行的方法可以使一切变得更高效,还是使用ExpansionTile
的缺点?
作为旁注:我知道调试构建模式对于衡量性能不是很好,但是与配置文件构建模式相比,我在大多数情况下确实得到了相同的帧丢失。
仅提供更多信息:我正在制作一个可为几个已解析的JSON文件编译不同列表的应用程序。理想情况下,我使用列表生成器(例如SliverChildBuilderDelegate
或ListView.builder
),因为信息根据每个JSON文件而有所不同。我选择在列表中使用ExpansionTile
,因为这样可以减少用户的混乱程度并使其更易于管理。
我希望我的结构足够好。感谢您的任何反馈。