3***@qq.com
3***@qq.com
  • 发布:2025-12-02 11:31
  • 更新:2025-12-08 17:49
  • 阅读:93

重新进入app会卡在启动页

分类:uni-app

我在调试模式下无问题,但云打包进入后杀死进程或者回退键退出应用会有概率无法进入到界面卡在了启动页,自己日志打印发现App.vue代码都没有走,直接进入到了启动页卡死,正常进入页面时候打印正常,应用有保活功能,去掉保活功能概率会小一些,但是还是能复现出卡在启动页面。还有新项目下左下角回退键进入后也有概率卡在启动页或者进入一个空白界面,机子是商米V2s机子Vs_STCN 版本号3.1.20 android11

2025-12-02 11:31 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com (作者)

1.alwaysShowBeforeRender 就是false

  1. 正常进入时候日志正常,生命周期正常 异常的时候生命周期包括<script>中的打印都没有实现
  2. 我正在试
  3. 保活后也不是每次都复现,而是有概率复现,基本34次会出现一次,这是在我杀进程保活服务stop的情况,如果没有stop概率还要高,
  4. 机子重启后一般不会复现,但是这样杀进程重新进入 操作多次后,概率就有了,我把保活服务关闭后 我看到保活服务里的通知栏关闭后再进,还是会出现卡在hbuilder自带的启动页
3***@qq.com

3***@qq.com (作者)

还有我是云打包的完的包会这样,本地usb调试安装的包不会卡在启动页,

3***@qq.com

3***@qq.com (作者)

在manifest.json中配置"app-plus": {"optimization": {"preLaunch": false}} 试过了没有用

3***@qq.com

3***@qq.com (作者)

[WXBridgeManager] invokeInitFramework java.lang.NullPointerException: Attempt to invoke interface method 'int io.dcloud.common.DHInterface.IApp.getInt(int)' on a null object reference
at io.dcloud.feature.weex.WXViewWrapper.initViewPortWidth(r8-map-id-b4716a25f9920722ba6f2d7f7c6f40e43a654927e8ebe1c489894a7bc6a88ab4:3)
at io.dcloud.feature.weex.WXViewWrapper.onJsFrameworkReady(r8-map-id-b4716a25f9920722ba6f2d7f7c6f40e43a654927e8ebe1c489894a7bc6a88ab4:3)
at io.dcloud.feature.weex.WeexInstanceMgr.onJsFrameworkReady(r8-map-id-b4716a25f9920722ba6f2d7f7c6f40e43a654927e8ebe1c489894a7bc6a88ab4:15)
at com.taobao.weex.bridge.WXBridgeManager.initFramework(r8-map-id-b4716a25f9920722ba6f2d7f7c6f40e43a654927e8ebe1c489894a7bc6a88ab4:92)
at com.taobao.weex.bridge.WXBridgeManager.invokeInitFramework(r8-map-id-b4716a25f9920722ba6f2d7f7c6f40e43a654927e8ebe1c489894a7bc6a88ab4:7)
at com.taobao.weex.bridge.WXBridgeManager.handleMessage(r8-map-id-b4716a25f9920722ba6f2d7f7c6f40e43a654927e8ebe1c489894a7bc6a88ab4:4)
at com.taobao.weex.common.WXThread$SafeCallback.handleMessage(r8-map-id-b4716a25f9920722ba6f2d7f7c6f40e43a654927e8ebe1c489894a7bc6a88ab4:2)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:223)
at android.os.HandlerThread.run(HandlerThread.java:67)报了错误后下次进入就会卡在启动页走都不走App.vue的生命周期 。我的manifest的部分配置"app-plus" : {
"optimization" : {
"preLaunch" : false
},
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : false,
"waiting" : false,
"autoclose" : false,
"delay" : 0
},

3***@qq.com

3***@qq.com (作者)

找到问题了,保活和我的第三方冲突,第三方在特定模式下会抛出异常,但他们两个具体怎么冲突影响导致的不知道。

Ask小助手

Ask小助手

您的问题可能是由于启动界面配置不当导致的。根据知识库内容,当alwaysShowBeforeRender设置为true(默认值)时,应用会等待首页渲染完成才关闭启动页,若首页渲染异常会导致卡死。

建议:

  1. 检查manifest.json中的启动界面配置,将alwaysShowBeforeRender设为false(不等待首页渲染完毕)
  2. 确保App.vue中onLaunch等生命周期函数正确实现,避免阻塞主线程
  3. 商米设备可能存在特殊后台管理机制,需在manifest.json中配置"app-plus": {"optimization": {"preLaunch": false}}
  4. 移除保活功能后仍复现,说明与设备厂商ROM策略有关,建议联系商米技术支持

参考文档:
启动界面配置
App.vue生命周期说明

注意:云打包环境与调试环境差异较大,建议使用正式版4.85进行云打包测试。

内容为 AI 生成,仅供参考

要回复问题请先登录注册