1***@qq.com
1***@qq.com
  • 发布:2024-09-25 11:37
  • 更新:2024-12-04 11:17
  • 阅读:236

【报Bug】app端使用v-if销毁视频组件,内存不会释放,一直在上涨,最后导致应用崩溃

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows 10

HBuilderX类型: 正式

HBuilderX版本号: 4.28

手机系统: Android

手机系统版本号: Android 11

手机厂商: 华为

手机机型: p40

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="content">  
        <video v-if='videoIndex == 0' :style="{left: 0,width: '200px',height: '200px'}"  id='video0' autoplay :src='url' ></video>  
        <video v-if='videoIndex == 1' :style="{left: '200px',width: '200px',height: '200px'}" id='video1' autoplay :src='url2' ></video>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello',  
                videoIndex: 0,  
                url2: 'https://xxx.mp4',  
                url: 'https://xxx.mp4'  
            }  
        },  
        onLoad() {   
            setInterval(() => {  
                this.changeVideo()  

            }, 3000)  
        },  
        methods: {   
            changeVideo() {  
                this.videoIndex = Number(!this.videoIndex)  
            }  
        }  
    }  
</script>  

<style>  
</style>  

操作步骤:

页面上写入两个video标签,使用计时器每隔3秒切换其中一个标签的v-if,切换n次后app占用内存过大导致崩溃

预期结果:

使用v-if销毁组件后内存可以得到释放

实际结果:

使用v-if销毁组件后内存无法得到释放

bug描述:

在页面上写入两个video标签,使用v-if切换video标签,内存一直在升高,不会释放

2024-09-25 11:37 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

在插件市场找一个renderjs的 H5的video吧,先绕过这个问题

要回复问题请先登录注册