hejias
hejias
  • 发布:2021-06-08 11:37
  • 更新:2021-06-11 14:01
  • 阅读:630

app实现图片缓存加载

分类:uni-app

列表页面 像android 里面有早起的imageloader 以及现在优秀的glide ,请问我们通过uniapp做的商品列表页面,如何缓存以及占位图```javascript
<li
v-for="(item, index) in goodsList" :key="index"

            <view @click="navToDetailPage(item)" class=divimg2>  

                <image :src=item.CONTENTIMG  mode="aspectFill" :alt=item.alt></image>  
                <label v-if="item.enough"  class="buhuo">补货中</label>  
            </view>  
        </li>
2021-06-08 11:37 负责人:无 分享
已邀请:
哈咯

哈咯

这里是不会有人回的,需要自写插件,我app都写完了,发现image性能是个大问题,我的app基本都是图文居多,lazy-load属性, uni没有实现该功能,如果一个页面有20张图,它会全部加载,小程序除外,因为小程序调用的是各平台的原生image组件

hejias

hejias (作者) - test

参考
插件https://ext.dcloud.net.cn/plugin?id=1605
或者通过自己写 https://ask.dcloud.net.cn/question/60975

hejias

hejias (作者) - test

https://ask.dcloud.net.cn/question/108499

哈咯

哈咯

我已经解决这个性能问题,观察者,不复杂,多图不卡了

            let that = this  
            that.observer = uni.createIntersectionObserver(that).relativeToViewport({  
                bottom: 50  
            })  
            // 开始观察, observe的target不能是当前组件的顶级元素  
            that.observer.observe('#'+that.uuid, res => {  
                if (res.intersectionRatio > 0) {  
                    // 懒加载状态改变  
                    that.show = true  
                    // 如果图片已经加载,去掉监听  
                    that.disconnect()  
                }  
            })
  • hejias (作者)

    图片采用原生的image 么

    2021-11-13 21:54

该问题目前已经被锁定, 无法添加新回复