漫画小程序开发小结

本文作者分享了开发漫画小程序的过程,包括主要页面的功能实现和遇到的技术挑战。在阅读页,作者实现了图片懒加载、防内存过大策略以及滚动修改标题等功能。文章还提及了在处理页面切换、分享和返回时的一些细节问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近基于公司业务需要,做了个漫画小程序,做博一篇,让后人少走弯路,同时也是对自己工作的一点提炼。
免得以后人老色衰记忆减退回首往事徒留伤悲。

页面:

  • index:漫画列表,可续读直接跳阅读页
  • detail:漫画详情,包含介绍和选集两个tab
  • read:漫画阅读,无限滚动,懒加载,动态设话的标题

从需求和bug 谈技术实现

主页:无难点
详情:话的排序:前端排序,Array.reverse()即可
阅读页:

  1. 漫画图片url获取:前后端约定url规则,前端拼接即可。开始考虑图片hash值命名增强安全,基于开发时间要求先放弃,后期增加收费漫画后,考虑增加cdn校验。

  2. 防网络卡而加载缓慢:利用小程序image组件lazy-load实现图片懒加载,小程序自行判断懒加载时机,加载成功触发bindload事件(),失败触发binderror事件

  3. 防页小程序面图片过多内存过大被系统清理:用scroll-view包裹image,滚动时获取图片位置要素,将不需要展示的图片url置为一张白色占位小图(对图片对象设一个flag,不置空的原因是置空了会触发binderror),占位保留,减少内存占用:
    wx.createSelectorQuery().selectAll('.img').boundingClientRect(ret => {// 代码})

这么做的原因是自己测试了一下使用lazy-load api时的效果,不做其他处理,每次加载一话时内存会增加几MB至十几MB,感觉优化不太好,官方文档对此说明也几乎为0,所以自己再做了这个一个实现,具体效果对比没测(懒)。
另外:有的漫画小程序是这么处

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值