Android不要通过Application来保存数据或其他其他变量

在我们的应用程序中,很多地方可能用到同一个数据。很多时候我们可能不想通过Intent在Activity之间传递数据或者持久化的存放这些数据。

我们可能会将这些数据存在在Application中,这样我们就可以在所有的Activity中访问了,这个方法简单,但是实际上是错误的。你的程序很可能会因为报空指针错误。

我们在MainActivity中获取Appliction实例,并为name变量赋值,然后跳转到SecondActivity中再去获取name变量的值,并调用大写方法打印出来。

这里有个场景,就是当我们按Home键APP位于后台时,当内存不足时,系统会回收我们的APP。

现在我们模拟一下这个场景后台内存不足杀死APP情况,有多种方式:

adb命令杀死进程,android studio DDMS 的stop process等等方式,我用的是

当我们杀死进程后,再次点击APP图标时

直接报空指针错误了。

原因是:Application对象不会一直在内存中存在,可能被杀掉,不会恢复以前的信息,会创建一个Application对象,然后重新打开之前用户按Home键离开的那个Activity。

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/44953.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>