Flutter动画性能, 官方flutter基础动画在真机上能跑到20-30%CPU

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter动画性能, 官方flutter基础动画在真机上能跑到20-30%CPU相关的知识,希望对你有一定的参考价值。

参考技术A

这是他提的 : https://github.com/flutter/flutter/issues/102020
用的是这个官方动画效果
( https://api.flutter.dev/flutter/widgets/ScaleTransition-class.html )

运行起来的效果 如下:就是在一个Column 中放置了3个的动画

目前测试App在前台,运行中的CPU的情况

打开App的时候 CPU的使用率 ,当App在做网络请求的时候,占用率会更加的高

这是打开百度翻译的APP CPU占有率

记不记得这个图片,电脑的CPU使用率,如果它的占用大于了60%,你就会发现电脑的风扇在拼命的转,而且电脑会运行过慢

但是手机好像没有像电脑那么严重,使用起来也没有那么卡,这个和手机的固件设计有关系

这是另外一个小伙伴的公司的App内存的占用情况

CPU使用率是性能测试是一项重要指标,CPU占用过高会使得设备运行程序出现卡顿与发热,甚至出现应用程序Crash,影响用户体验。在排除硬件环境的限制下,应用程序应该尽可能少的占用CPU。
一个Demo,3个动画的CPU使用率达到了80%,如果用java or kotlin 去实现应该不会有那么高的占有率,所以Flutter的还需要继续的优化。

(App性能测试—CPU使用率): https://cloud.tencent.com/developer/article/1858070

Flutter动画 --- 平移/旋转/缩放/渐变

参考技术A 在Flutter中Widget动画的核心类有下面这些:
Animation:动画库中的一个核心类,它生成指导动画的值;
CurvedAnimation:将动画过程抽象为一个非线性曲线;
AnimationController:用来管理管理动画,常用的方法有forward():启动动画;reverse(double from:倒放动画;reset():重置动画,将其设置到动画的开始位置;stop( bool canceled = true ):停止动画。
Tween:AnimationController对象的范围从0.0到1.0。如果您需要不同的范围或不同的数据类型,则可以使用Tween来配置动画以生成不同的范围或数据类型的值。

以上是关于Flutter动画性能, 官方flutter基础动画在真机上能跑到20-30%CPU的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 之 动画1

Flutter 尺寸缩放形状颜色阴影变换动画

Flutter 动画使用

Flutter学习之动画实现原理浅析

Flutter动画动画基础介绍(重要)

深入分析 Flutter 渲染性能