<template>
<view class="container">
<button @click="goto">跳转 test 页面</button>
</view>
</template>
<script>
export default {
methods: {
goto() {
uni.navigateTo({
url: '/pages/test/test'
})
}
}
}
</script>
<style scoped>
.container {
flex: 1;
justify-content: center;
align-items: center;
}
</style>
<template>
<view class="container">
<button @click="back">返回 index 页面</button>
</view>
</template>
<script>
export default {
methods: {
back() {
uni.navigateBack()
}
}
}
</script>
<style scoped>
.container {
flex: 1;
justify-content: center;
align-items: center;
}
</style>

- 发布:2025-07-29 09:55
- 更新:2025-07-30 16:39
- 阅读:371
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: window 11
HBuilderX类型: 正式
HBuilderX版本号: 4.57
手机系统: Android
手机系统版本号: Android 12
手机厂商: 三星
手机机型: S21
页面类型: nvue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
打开 index.nvue 页面,点击按钮跳转到 test.nvue;
在 test.nvue 页面点击返回;
自动化测试程序来回循环以上步骤 10分钟;
通过如下命令查看内存:
adb shell dumpsys meminfo xxx
打开 index.nvue 页面,点击按钮跳转到 test.nvue;
在 test.nvue 页面点击返回;
自动化测试程序来回循环以上步骤 10分钟;
通过如下命令查看内存:
adb shell dumpsys meminfo xxx
预期结果:
app的jse线程内存不会上涨
app的jse线程内存不会上涨
实际结果:
app的jse线程内存持续上涨
app的jse线程内存持续上涨
bug描述:
在一个最小的 nvue 页面 Demo 中,仅实现了两个页面 navigateTo + navigateBack 的基本跳转逻辑。在页面中无复杂逻辑,无定时器、无图片、无原生模块引用,仅使用 <button> 实现跳转。
反复进行跳转和返回后,通过 adb 查看 jse 进程的内存持续增长,并不会被释放,最终导致 app 崩溃。
4 个回复
qjr (作者)
通过adb shell top查看手机内进程内存和cpu占用情况:
app初始化状态,内存占用也是比较低的;
qjr (作者)
步骤二:
反复150次的进出页面之后app的内存占用就会上涨,并且在一段时间(10分钟)内并没有回落
蔡cai - 开发的插件:https://ask.dcloud.net.cn/article/41539
等官方吧,给你邀请了几个官方人员
qjr (作者)
谢谢
2025-07-30 10:23
蔡cai
回复 qjr: 客气了
2025-07-30 10:25
DCloud_App_Array
从现象看有可能存在内存泄漏的问题。
nvue目前已经停止维护了,这类问题处理优先级比较低,有条件建议升级使用 uni-app x 。
qjr (作者)
目前项目已经进行到最后的测试阶段了,除了升级成uni-app x还有其他的办法吗?
2025-07-30 16:42
DCloud_App_Array
回复 qjr: 我们先排查确认下
2025-07-30 17:03
1***@qq.com
回复 qjr: 办法是全部切成vue[doge]
2025-07-31 08:37
qjr (作者)
回复 1***@qq.com: 本来就是vue切到nvue去开发app的,因为用到的video组件的地方比较多。
2025-07-31 08:55
qjr (作者)
回复 DCloud_App_Array: 完成确认了吗?
2025-08-04 09:36
DCloud_heavensoft
回复 qjr: 这个默认是不维护的。虽然你也可以点付费技术支持,付费解决这个问题,但性价比不高。uni-app x是没有内存泄漏问题的,在产品层面就有内存泄漏监控。
2025-08-08 16:13
qjr (作者)
回复 DCloud_heavensoft: 既然你们还继续支持nvue开发,这个问题这么严重,难道不应该公开一下解决方法吗?
2025-08-08 17:39
DCloud_heavensoft
回复 qjr: nvue是base在weex上的,这个已经是一个淘汰产物了。如果你是video组件用的多造成的,那有个简单的方法,回到vue,不用uni-app的video组件,而用renderjs,直接用html的createVideoElement。早期Android的webview的video不行,需要原生video,近6年的手机,用Webview的video就够了
2025-08-09 04:56
EsRell_
回复 DCloud_heavensoft: 淘汰了你们倒是关掉nvue开发通道啊
2025-08-14 18:02