flutter

Flutter 优化记录(持续完善~)

2021-06-17  本文已影响0人  Lcc不想混_b503

本篇记录App优化方法,配合工具,可以排查部分的性能和渲染问题.

调试性能问题

1. 跟踪启动时间
flutter run --trace-startup --profile

跟踪输出保存为start_up_info.json, 输出列出了从应用程序启动到这些跟踪事件(以微秒捕获)所用的时间:

2. 跟踪Dart代码性能
import "dart:developer"

Timeline.startSync('interesting function');
// doSomething();
Timeline.finishSync();

可视化调试

MaterialApp 设置选项

1. debugPaintBaselinesEnabled

具有基线的对象,文字基线以绿色显示,表意(ideographic)基线以橙色显示。

2. debugPaintPointersEnabled

正在点击的对象都会以深青色突出显示。 可以帮助确定某个Widget是否以某种不正确地方式进行hit测试.

3. debugPaintLayerBordersEnabled

标志用橙色或轮廓线标出每个层的边界,或者使用debugRepaintRainbowEnabled志, 只要他们重绘时,这会使该层被一组旋转色所覆盖。

4. checkerboardRasterCacheImages

光栅缓存图像检查

5. checkerboardOffscreenLayers

离屏渲染检查

优化

* 合理使用const关键词

当const 修饰类的构造函数时,它要求该类的所有成员都必须是final的。const 变量只能在定义的时候初始化。
详细参见: 地址

减少内存占用

* 离屏渲染

一下小部件底层会滴哦啊用saveLayer(),造成离屏渲染:

官方推荐用法:

* 图片

以上优化方向配合调试工具,基本可解决大部分优化的问题.

ps: 关于BuildContext内存泄漏怎么去排查,还没有任何头绪. 期待大佬们的交流

上一篇下一篇

猜你喜欢

热点阅读