Flutter 2.5.0使用flutter_native_splash时启动屏停留时间过长如何解决
Flutter启动屏停留时间过长的解决方案
- 先确认测试模式
Debug模式下Flutter启动速度天然比Release慢3-10倍,你看到的5秒以上的启动时长绝大多数都是Debug模式的调试开销导致的,直接打Release包测试才能拿到真实的用户侧启动速度,不要用Debug模式的结果做性能参考。 - 去掉主动加的延迟代码
flutter_native_splash默认会在Flutter引擎渲染第一帧后自动关闭,很多新手会在main.dart里主动加Future.delayed之类的延迟逻辑再调用FlutterNativeSplash.remove(),直接删掉这类延迟代码,只需要在首页面初始化完成后调用一次关闭方法即可。 - 前移首帧渲染时机
不要把重负载的初始化逻辑(SDK初始化、本地数据读写、权限请求等)放在runApp()之前执行,这些同步任务会直接阻塞Flutter引擎初始化,拉长启动屏展示时间。非必要的初始化任务全部放到首页面渲染完成后异步执行。 - 优化启动屏资源
你当前配置的splash_720.png建议压缩到100KB以内,补充不同分辨率的对应切图,不要用单张图适配所有设备。Android12+的启动屏可补充适配参数,避免系统对图片做额外的裁剪拉伸操作,减少加载耗时。 - 原生侧优化
你有原生Android开发背景,原生端的冷启动优化规则完全适用:检查Application onCreate中是否有重同步任务,移除AndroidManifest里不必要的预加载配置,原生端初始化耗时减少后,启动屏的展示时长也会同步缩短。
内容的提问来源于stack exchange,提问作者Dev Chauhan
相关产品推荐
相关产品推荐

