记录一下开发时遇到的坑与陷阱

一:静态变量引发

背景:今天运营人员报来app一个bug,打印时设备信息为null,额,一头雾水,半年时间没出过问题,仔细检查,发现,是这货惹得

开发遇坑记录

开发遇坑记录

我在登录成功把设备信息通过静态方法传到要用的utils类,

这里提前知道一个知识,静态变量修饰的方法与变量跟应用有相同的生命周期,所以就这样用了。

现在device信息却为null。查找资料发现,应用放在后台,当内存开销不足时,系统会杀掉进程,这时静态变量会赋值为null,而

再次启动时,app不会再次执行loginActivity,而是直接到你最后停留页面导致device信息没有再次赋值而为null。

处理:由于信息时sp保存的,通过构造函数传过去。

还有其它方法,例如,保存在application中。手动杀死进程等

参考链接静态变量被杀死情况

 

 

相关文章: