首页 > 代码库 > android中少用静态变量(android静态变量static生命周期)
android中少用静态变量(android静态变量static生命周期)
在android中,要少用静态变量。
我现在做的一个应用中,之前的开发人员使用静态变量来存储cookie,这个全局的静态变量用来验证身份。
这时客户反应,应用长时间不使用,再次使用,会提示身份过期。
后来经查,问题基本确定在静态变量上。
上stackoverflow查了android中static变量的生命周期,有人这么说
Lifetime of a static variable: A static variable comes into existence when a class is loaded by the JVM and dies when the class is unloaded,if you create an android application and initialize a static variable, it will remain in the JVM until one of the following happens:
1. the class is unloaded
2. the JVM shuts down
3. the process dies
我们应用出现的情况应该就是进程被系统杀掉导致的。
后来这个情况也发现了,就是不断地打开应用,当系统内存不够用时,应用进程会被杀掉。这时再打开应用,就出现了身份过期,也即静态变量为空的情况
静态变量,要慎用!
android中少用静态变量(android静态变量static生命周期)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。