时间:2019-05-07 来源:小程序工厂
自己回答一波吧,出现这个问题的原因找了好久终于找到了。。。
出现此问题的业务场景:在微信小程序 a 页面上使用 api 打开系统相册选择图片文件后保存该文件的本地路径到缓存,选择文件完成后跳转至 b 页面读取刚才的缓存地址并展示;
出现bug的场景:Android 机器上在 a 页面选择完图片后跳转到 b 页面始终得到的缓存数据为空,而 iOS 机器上能成功获取缓存数据;
最终找到的问题:在 a 页面上的 onShow 生命周期函数中重置了一次缓存数据导致了此问题;那为什么在 a 页面的生命周期函数 onShow 中重置缓存数据只是影响了 Android 机型而 iOS 机型没有受到影响,通过真机调试发现 Android 和 iOS 机型在调取系统相册的过程中处理当前页面的方式不同,在 a 页面打开系统相册,Android 会先将 a 页面 onHide ,在选取图片成功后再 onShow 一次,而 iOS 不会执行此操作步骤,所以导致了此问题。。
总结原因。。还是由于 Android 和 iOS 处理的方式不一样造成的这种问题 ……
解决办法,你是怎么解决的
你好,这是一个已知问题,我们会尽快进行修复