Flutter 性能调优

100 篇文章 10 订阅 ¥29.90 ¥99.00
本文探讨了Flutter的垃圾回收机制,包括新生代和老年代的内存管理,以及如何利用Dart VM的调度器减少对UI的影响。此外,通过ListView内存测试验证了Dart的垃圾回收过程。同时,文章介绍了优化ListView内存的方法,如固定数据个数和使用StatelessWidget,并讨论了Flutter的Debug、Release和Profile三种构建模式。最后,提到了用于性能调试的工具,如Observatory和Dart DevTools,帮助开发者理解和改进应用的性能。
摘要由CSDN通过智能技术生成

Flutter 垃圾回收机制

Flutter Framework 使用 Dart 语言开发,所以 App 进程中需要一个 Dart 运行环境(VM),Dart VM 中有 Dart 的垃圾收集器,该垃圾收集器的内存管理是分代的,由两个部分组成:新生代空间收集器、老年代(并行标记扫描)空间收集器,还有一个重要的东西,就是调度器。

  • 调度器

    在 Flutter 引擎中,为了最小化垃圾收集对应用程序和UI性能的印象,与垃圾收集器提供了 hook,当引擎检测到应用程序处于空闲状态(没有与用户交互),会发出警报,使垃圾收集器运行其收集阶段,而不影响性能的机会。

  • 新生代(New Generation)

    通常初次分配的对象都位于新生代中,该区域主要是存放内存较小并且生命周期较短的对象,比如局部变量、StatelessWidget 类型的 Widget 。新生代会频繁执行内存回收(GC),回收采用“复制-清除”算法,将内存分为两块(图中的 from 和 to),运行时每次只使用其中的一块(图中的 from),另一块备用(图中的 to)。当发生GC时,将当前使用的内存块中存活的对象拷贝到备用内存块中,然后清除当前使用内

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@ZhangJun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值