昨天上线出了一个严重的问题,真是失误,下面简单说一下过程

产品经理找开发在版本之外加一个额外的“小”需求:长按图片可至本地。知道这个需求后,觉得比较简单,以至于测试用例都没写…感觉可能会牵涉到存储权限外,并叮嘱开发注意权限问题;测试期间主要关注下图片是否保存到本地就OK了。然而大错特错,一点都不OK,上线后就没多久就被喷…因为老大经常会链接VPN查看国外的消息,所以网速不是很好,导致保存图片时崩溃率是1/2,吓得我手机都想扔了,升级推送的包赶快让同事帮忙下掉。emmmm,幸亏没有发布到应用商店,不然损失惨重…

后来发现,弱网环境下清晰图片没有加载出来之前点击保存才会闪退,并且这种情况下是必现的。这里就要提到图片加载策略:默认图->模糊图->高清图,首页动态列表加载的过程中,会先加载模糊图,点击图片查看的时候,先显示之前加载好的模糊图,高清图加载好后再显示高清图,由于高清图没有加载出来,所以没有保存的对象,故应用崩溃。后来开发做了优化,高清图没有加载出来前,长按图片下方不弹出保存图片入口。

 

读写权限(Android6.0)
 
 
 
所以啊,之前考虑的太过简单了,图片虽说牵涉到本地保存,也就是说读写权限,百度了下相关知识,Android6.0之后的系统,保存文件至手机内存中是不需要申请读写权限,保存至SD卡则需要动态申请,如果想了解更多可参考:Android数据存储之Android 6.0运行时权限下文件存储的思考;但是图片保存前是否有对象,前置条件忽略掉了(测试一大禁忌),而图片的加载跟网络环境和网速有关,比如wifi,4G,3G,WiFi->3G,3G->WIFI,需要验证这些情况下图片是否加载正常。得嘞,在严格的标准下,又发现了一个小问题,3G->WIFI情况下,高清图加载出来了,但是长按始终无法出现保存图片的入口,后来了解到是,长按出现[保存图片]入口和图片加载是两个异步事件,所以网速差的时候,这种情况就比较明显了。emmmm,异步事件?同步事件?看来需要学习的东西很多啊·····

版权声明:本文为zhangxiaodi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhangxiaodi/p/9815131.html