android app bug分享

问题描述:
上海以外用户,重启设备后,默认城市变成上海。退出app,再打开应用,仍保留旧城市。

原因:
开发将筛选条件保存机制修改为退出app后不保存。但是原本筛选条件与城市保存逻辑使用的同一个开关。导致修改后,城市也没有保存。

旧代码逻辑:
使用app,定位城市,退出app重新打开 => app已关闭,但进程没结束,原有cityid仍然有效 => 打开app,直接使用上一次cityid。
使用app,定位城市,重启设备 => cityid没有保存在文件中 => 打开app直接使用默认的上海
根本原因,在重启设备后,没有将cityid写入配置文件。

新代码逻辑:
使用app,定位城市,重启设备 => 保存原有cityid到文件中 => 打开app会直接读取文件上的cityid。
解决方案,将cityid和其他筛选条件分开处理。

问题延伸:
今后在测试中,对于这类需要保留历史数据的功能,需要严格进行重启设备测试。
通过关闭app,再打开的方式测试,因为内存数据不会被清除,是无法达到测试效果的。