Flutter 项目实战 实现分页加载图片的列表 十

发布时间:2022-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Flutter 项目实战 实现分页加载图片的列表 十脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

 /  列表加载性能分析  /

        作为一名Flutter开发者,我们不仅仅是完成应用功能的开发,而且需要的对应用的性能有一个指标 . 应用 性能常见指标 如下 性能指标 :  

Flutter 项目实战 实现分页加载图片的列表 十

应用性能指标

 

使用Android Studio 测试Flutter应用界面的性能 为什么启用Profile模式测试应用性能

Flutter 项目实战 实现分页加载图片的列表 十

Android Studio Profile 模式启动应用

 

查看每一帧渲染时间 ,  内存使用详情 

Flutter 项目实战 实现分页加载图片的列表 十

每帧渲染时间、内存使用情况

手机上也可以查看  性能图层

Flutter 项目实战 实现分页加载图片的列表 十

Flutter 项目实战 实现分页加载图片的列表 十

手机上查看UI渲染情况

快速滑动列表时 每帧渲染时间变长 , 内存也增加加速

Flutter 项目实战 实现分页加载图片的列表 十

列表快速滑动 , 每帧渲染时间和内存使用情况

/  GridView.builder /

GridView可以构建一个二维网格列表
GridView.count 快速的创建横轴固定数量子元素的GridView
GridView.extent快速的创建纵轴子元素为固定最大长度的GridView
GridView.builder适用于子widget数量比较多时创建网格列表

Flutter 项目实战 实现分页加载图片的列表 十

. 列表下拉刷新 , 使用下拉刷新指示器 RefreshIndicator 

Flutter 项目实战 实现分页加载图片的列表 十

. 上拉加载更多 , 刷新指示器监听滚动距离来来加载更多 (ScrollNotification)

滚动距离 (pixels)、滚动到顶部( minScrollExtent )、滚动到底部(maxScrollExtent)、滚动方向 (axisDirection) . 

滚动到底部 ( notification.metrics.pixels==notification.metrics.maxScrollExtent )

Flutter 项目实战 实现分页加载图片的列表 十

 

. GlobalKey 实现局部刷新 , 当获取到数据源(从网络获取数据后) 刷新网格列表 .

 GlobalKey<GridViewGuilderState> _gvGsKey = GlobalKey();
_gvGsKey.currentState!.changeGvData(isLoaMor, _data);

Flutter 项目实战 实现分页加载图片的列表 十

Flutter 项目实战 实现分页加载图片的列表 十

 

. 亲自测试加载10000条数据 (每次加载20条 ) , 每秒钟应用绘制的帧数 , 内存使用情况 通过Android Studio 可以运行在 Profile 模式下查看 . 如果要查看,具体是哪些组件在频繁的绘制 , 需要在 Debug 模式下查看 .

Flutter 项目实战 实现分页加载图片的列表 十

运行 Profile 模式

Flutter 项目实战 实现分页加载图片的列表 十

Flutter 项目实战 实现分页加载图片的列表 十

 

运行 Debug 模式

滑动列表可以查看哪些组件在数据加载的过程中被频繁渲染到列表里 :

图片加载  Image.network

图片加载最外层容器  Container 

Flutter 项目实战 实现分页加载图片的列表 十

为了减小每帧渲染到时间 , 可以减小被频繁渲染布局的视图嵌套层数 ( 删除不必要的布局 )

官方建议使用 RepaintBoundary 用来减少需要重绘的次数 .

. 当列表每一项不被 RepaintBoundary包裹时 , 列表每次加载更多 Container被重复绘制 .

Flutter 项目实战 实现分页加载图片的列表 十

Flutter 项目实战 实现分页加载图片的列表 十

 

Flutter 项目实战 实现分页加载图片的列表 十

Flutter 项目实战 实现分页加载图片的列表 十

 

. 当列表每一项被 RepaintBoundary 包裹 , 列表每次加载更多 Container 不会重复绘制 .

Flutter 项目实战 实现分页加载图片的列表 十

 

Flutter 项目实战 实现分页加载图片的列表 十

Flutter 项目实战 实现分页加载图片的列表 十

Flutter 项目实战 实现分页加载图片的列表 十

下载案例

脚本宝典总结

以上是脚本宝典为你收集整理的Flutter 项目实战 实现分页加载图片的列表 十全部内容,希望文章能够帮你解决Flutter 项目实战 实现分页加载图片的列表 十所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: