iPhone手机必现小程序意外退出, 请稍候重试

基于uniapp开发微信小程序,做短视频功能,上下滑动短视频时发现iPhone手机会出现“小程序意外退出, 请稍候重试”

当前 Bug 的表现:

原来小程序在iPhone 6和iPhone 6s上会经常出现"小程序意外退出,请稍候重试"的提示,原因是小程序页面内存溢出(页面内容超出了限制),手机性能不足导致的。

换到iPhone xs 和iPhone 12上, 也是刷不了几屏就退出了,按道理来说这部手机的性能应该足够了

ps: 此问题已经是ios的老问题了,安卓手机没出现过这种情况,所以这不仅仅是手机性能引起的。

问题处理:

发帖询问后官方回复:打开看了下,你这个实现很有问题,首屏图片都是swiper,且都在转菊花,不在可视区的也在转,这个没几个手机能扛得住,优化一下吧

看了下代码,应该是swiper没展示的数据一起渲染到页面,导致内存耗尽退出的。现在加了判断只渲染当前和上下三屏的数据,其他的数据隐藏不显示。改完之后发现流畅的很,也没出现过崩溃的情况。

<swiper class="swiper" ref="swiperVideo" :current="current" :vertical="true" :circular="false" :duration="300" :skip-hidden-item-layout="true" @change="onChangeVideo" @animationfinish="onAnimationVideo" style="min-height:100vh;">
  <swiper-item class="swiper-item" v-for="(item,index) in list" :key="index">
    <!-- current == index 这个判断是为了处理swiper内容超出,导致小程序意外退出的情况 -->
    <view class="swiper-cont" v-if="(index===current-1 || current === index || index===current+1)">

    </view>
  </swiper-item>
</swiper>

ps:绝大部分问题并不是官方的问题, 还是自己应用不当导致的

 

posted @ 2023-04-17 11:56  时光独醒  阅读(953)  评论(0编辑  收藏  举报