qjr
qjr
  • 发布:2025-05-23 10:38
  • 更新:2025-05-23 18:51
  • 阅读:103

【报Bug】nvue页面 view内存泄露问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window 11

HBuilderX类型: 正式

HBuilderX版本号: 4.57

手机系统: Android

手机系统版本号: Android 12

手机厂商: 三星

手机机型: S21

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        <button @click="show = !show"> show</button>  

        <view v-if="show">  
            <view v-for="item in 1000">  
                <text>{{item}}</text>  
            </view>  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                show:true  
            }  
        },  
        methods: {  

        }  
    }  
</script>  

<style>  

</style>  

操作步骤:

反复点击button按钮

预期结果:

app的内存顺着显示隐藏会上升和下落

实际结果:

app的内存占用一直攀升不见下降

bug描述:

通过不断的v-if 显隐view模块,发现app的内存占用一直攀升不见降落,adb shell 进入app 查看 Views的数量一直增加不会下降。

2025-05-23 10:38 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

view没有做优化吧 可以去插件市场找一下虚拟列表插件来代替
或者用list组件 有不可见部分的渲染资源回收有特殊的优化处理
参考文档:https://uniapp.dcloud.net.cn/component/list.html#list

  • qjr (作者)

    我实际的代码中就是用了list组件去做的,我发现了这个问题才用最简单的demo复现

    2025-05-23 19:14

要回复问题请先登录注册