项目场景:
采用 vue + cordova 开发的App, 项目首屏为 three.js 编写的3D场景
问题描述
3D模型的数据是首屏启动后前端调用接口获取的json数据,数据大小30M.
用户在首页与其他页面切换时,调用该接口时间过长,并消耗大量流量
解决思路:
- 首页页面不销毁,做缓存. (可行,但three.js的页面内存占用量极大,不做特殊处理的话会导致其他页面卡顿,并造成app崩溃闪退)
- 将3D模型数据一并打入app,从项目资源中读取(缺点:3D模型更新时需要重新发版App.不能及时获取到最新的3D模型)
- 首次调用接口后,将3D模型数据缓存到手机文件中,之后再次获取时,从手机文件中读取.(缺点:根据手机性能,读取也存在卡顿问题,部分手机读取大文件会闪退,可以将数据切片处理解决该问题)
实现步骤:
这里主要记录 如何利用 cordova cordova-plugin-file 插件 向手机存储/读取文件,其他逻辑省略
在cordova项目根目录下 安装 cordova-plugin-file 插件
cordova plugin add cordova-plugin-file
安装之后,在cordova项目下, plugins文件下, 会有该插件

编写 写入文件方法
// 写入文件
writeFileLast

针对Vue+Cordova应用中,3D模型加载慢及消耗流量的问题,提出了三种解决方案:1) 首页缓存,但可能导致内存占用过高;2) 预打包3D模型,更新时需发布新版本;3) 初始加载后缓存到手机文件,后续读取本地。详细介绍了利用cordova-plugin-file插件进行文件读写的方法,包括文件的写入、读取和大文件切片处理,以减少卡顿和闪退风险。
最低0.47元/天 解锁文章
7563

被折叠的 条评论
为什么被折叠?



