小程序优化

优化前: 分数低, 首页加载太多列表(几百个), 用户体验不好, 会卡顿
在这里插入图片描述
在这里插入图片描述
优化后: 分数提升, 体验较好, 系统比较顺畅, 不卡顿
在这里插入图片描述
主要措施:
1, 针对一开始就加载几百个列表的情况, 而且每个列表都有图片, 大大消耗了手机等的性能, 造成加载慢, 并且不能及时显示首屏;
所有采取以下措施:
一, 使用scroll-view, 并且自己实现一个分页, 一页只加载10个列表元素左右, 在用户滚动到底部, 触发抵达底部事件的时候, 才加载下一部分;
将保存的数组(总数据)和展示的数组分两个变量保存;
加载下一部分: 使用slice方法(不影响原数组), 并且当前页+1

if (this.data.mainActiveIndex === 0 &&
      this.data.activeId === '-2') {
        this.setData({
          curPage: this.data.curPage + 1,
          courses: this.data.allCourses.slice(0, this.data.curPage * this.data.pageCount)
        })
    }    

二, 使用图片懒加载, 在image组件加上lazy-load=“true”

在这个过程中, 因为scroll-view要求必须给定一个固定的高度, 所以我为了兼容就写了一个较大的高度值: 1300rpx;

但是当他切换菜单, 只有3-4个元素时, 因为1300rpx太高, 所以会出现下面的情况:
在这里插入图片描述
使用了flex布局, 但他换行了之后, 他均匀地发布在了这个高度上;
我使用了判断它有几个元素的方法, 小于4个的时候动态给他加上一个css类, 给他一个900rpx高度;
所以这样就正常了;
在这里插入图片描述
但当他只有1-2个元素时, 他还会居中, 这时就给他设置:

align-items: flex-start
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值