uni-app 【报Bug】plus.navigator.updateSplashscreen更新splash之后 启动APP先后显示manifest配置的自定义启动图和updateSplashscreen的启动图
uni-app 【报Bug】plus.navigator.updateSplashscreen更新splash之后 启动APP先后显示manifest配置的自定义启动图和updateSplashscreen的启动图
2 回复
在 uni-app 中使用 plus.navigator.updateSplashscreen
更新启动图时,可能会遇到启动 APP 时先后显示 manifest.json
中配置的自定义启动图和 updateSplashscreen
设置的启动图的问题。这通常是由于启动图的加载顺序或时机不当导致的。
可能的原因
- 启动图加载时机问题:
updateSplashscreen
的调用时机可能晚于 APP 启动时加载manifest.json
中配置的启动图,导致先显示默认启动图,再显示更新后的启动图。 - 启动图缓存问题:系统可能缓存了
manifest.json
中的启动图,导致即使调用了updateSplashscreen
,仍然会先显示缓存的启动图。
解决方案
-
延迟调用
updateSplashscreen
: 确保在 APP 启动后立即调用updateSplashscreen
,以避免默认启动图的显示。可以在onLaunch
或onShow
生命周期钩子中调用该方法。export default { onLaunch() { // 延迟调用 updateSplashscreen setTimeout(() => { plus.navigator.updateSplashscreen({ image: '/static/new_splash.png', // 新的启动图路径 success: () => { console.log('启动图更新成功'); }, fail: (err) => { console.log('启动图更新失败', err); } }); }, 100); // 适当调整延迟时间 } };