uni-app 页面使用加载多个video后机子崩溃闪退
Posted 地表最强菜鸡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app 页面使用加载多个video后机子崩溃闪退相关的知识,希望对你有一定的参考价值。
背景:
公司产品脑袋一拍,我们要做一个类似uc视频列表播放的东东
解决方法:
:custom-cache="false"
<video :custom-cache="false" :autoplay="autoplayFn()" src="xxxx.mp4" controls></video>
(闪退到我自己手机都差点要报工伤)(╯‵□′)╯︵┻━┻
问题解决思路:
1.查小程序频繁闪退,先排除机子原因(重启),其他页面不闪退,只有这样页面闪退,大方向是代码问题。
2.查询小程序闪退的原因,这里搜了一下,大概率是内存问题,onshow方法下加入监听,证明猜想
onShow(){
wx.onMemoryWarning(function () {
console.log('onMemoryWarningReceive')
})
}
3.排除有可能引起内存问题的代码,问题依然存在
4.屏蔽template中可能会影响的代码,锁定video引起的。
5.搜索video相关的问题,发现video卡顿的解决方案中有提到一个属性custom-cache,查询这个属性到底做了什么。
https://developers.weixin.qq.com/community/develop/doc/0008aa45d149a0de37b775d7952000
一般缓存为一级缓存、二级缓存、和自定义缓存,换而言之custom-cache="{{false}}"就是不使用自定义缓存的意思。为什么用了视频组件会卡loading加载不出来呢,可能是因为微信设置的自定义缓存的位置有容量限制,因此将它关闭了以后会自动使用系统缓存,可能就没有这个问题了。
6.怀疑这里的内存问题和这个有关;
7.验证,并证实了自己的猜想。
以上是关于uni-app 页面使用加载多个video后机子崩溃闪退的主要内容,如果未能解决你的问题,请参考以下文章