【发布时间】:2020-11-24 16:56:15
【问题描述】:
我在颤振中有一个无限的列表视图,该列表中的每个项目都需要进行 http 调用以从服务器获取一些数据。我想在用户滚动时优化呼叫我想防止项目进行 http 呼叫。 任何想法都可以做到这一点
【问题讨论】:
标签: performance flutter dart
我在颤振中有一个无限的列表视图,该列表中的每个项目都需要进行 http 调用以从服务器获取一些数据。我想在用户滚动时优化呼叫我想防止项目进行 http 呼叫。 任何想法都可以做到这一点
【问题讨论】:
标签: performance flutter dart
大多数移动应用程序都使用的一个很好的解决方案是根据滚动来获取您的单元格。最初,您可以加载例如 20 个单元格,当用户到达列表末尾时,再次调用以加载 20 个更多单元格。 您可以像这样处理用户的滚动:
var scrollController = ScrollController();
scrollController.addListener(scrollListener);
double maxScroll = listScrollController.position.maxScrollExtent;
double currentScroll = listScrollController.position.pixels;
if (maxScroll == currentScroll) {
// fetch more cells
}
【讨论】:
两种优化方式可能是:
【讨论】:
when user stop scrolling, item make http call 你的意思是说你只想对那些滚动的项目进行 http 调用,并且目前在列表?
我没有找到解决问题的方法。 我使用了库 visibility_detector (https://pub.dev/packages/visibility_detector) 在每个项目中,如果项目仍然可见,我会等待 2 秒,如果没有,我会进行 http 调用,我什么也不做
【讨论】: