场景:之前开发的一个项目,第一次使用Application这个类,不是很懂,往里面存了很多数据,比如登录数据,保存一些activity需要的数据。刚开始觉得很是方便,而且很有效,但是之后突然发现程序后台长时间再次启动总是会出现崩溃,通过log我才发现原来是我使用application中保存的数据时数据被清掉了!我当时很是不解,因为application是全局生命周期最长的,程序本身都没有销毁的情况下为什么application中的数据会被清空!这个问题困扰了我很久,没有办法最后我只能以sharedpreference保存,今天突然想到了这个问题,再次百度看到这篇文章才知道其中缘故!
原因如下:
Application对象并不是始终在内存中的,它有可能会由于系统内存不足而被杀掉。但Android在你恢复这个应用时并不是重新开始启动这个应用,它会创建一个新的Application对象并且启动上次用户离开时的activity以造成这个app从来没有被kill掉得假象。
另外附上链接希望对大家有帮助:点击打开链接