Flutter 高性能、多功能的全场景滚动容器原理与实践
作者:新宿、光酒 目前闲鱼的主要业务场景都已经使用 Flutter 来实现,其中流式布局是最常见的页面布局场景(如搜索、商品详情等)。随着业务的快速迭代和业务复杂度的不断提升,对流式场景的能力和性能要求也越来越高; 在能力方面,最常见的如卡片曝光、滚动锚点、瀑布流布局等能力,随着业务和需求的不断变化,Flutter原生和一些开源解决方案,渐渐无法满足我们需求; 性能方面,流式场景下的列表滚动流畅度问题随着业务复杂度的增加而逐渐恶化,亟需解决以提升用户的使用体验。 针对以上在业务中面临的问题,我们设计了一套流式场景下通用的页面布局解决方案,我们将其命名为 PowerScrollView。 整体架构设计 在架构设计之前,我们充分调研了原生 Native 的滚动容器:UICollectionView(iOS) 和 RecyclerView(Android)。其中UICollectionView 的 Section(段落)理念令我们印象深刻,RecyclerView 的架构设计也启发了我们。由于 Flutter 的独特性,我们不能将其照搬过来,所以我们的目标是结合 Native 成熟的滚动容器...