慎用Android的Application中的全局变量

 

看过很多源码,喜欢继承一个Application,然后在里面进行一些初始化的操作和赋一些全局变量值。这样确实很好,在应用启动的时候就做一些需要的操作,但是今天在我们的项目中发现这样一个问题。

 

现在很多应用比如360手机助手、腾讯手机管家等应用,会在桌面有个透明的悬浮窗,显示当前系统的应用内存使用数量,我也用360手机助手,每次看到超过50%的时候,我也会点击一下,清除不再使用的应用程序,这个时候,360会把你应用的缓存清除掉,但是内存中的数据仍然还在,这样的话有个问题就是:如果我有个全局变量放在application中,那么当你点击清理的时候,application中的变量值就会变没了,如果是int,long会变成默认值,string会变成null,当你进入你的应用继续使用这个变量值得话,就会出现问题,可能是NullPointer的崩溃错误或者其它错误。我想了想,我认为当360清除你的缓存的时候,会把Application级别的东西给清除掉,比如我放在里面的全局变量,所以,建议不要在application中定义全局变量。开发中遇到的一个问题,记录下来。

 

不知道上面我的分析是否正确,如果有误请指正。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值