在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

我们应用出现的情况应该就是进程被系统杀掉导致的。

后来这个情况也发现了,就是不断地打开应用,当系统内存不够用时,应用进程会被杀掉。这时再打开应用,就出现了身份过期,也即静态变量为空的情况

静态变量,要慎用!

更多相关文章

  1. Android Shape Drawable 静态使用和动态使用(圆角,渐变实现)
  2. android中的全局变量定义与使用
  3. Android定义的路径全局变量
  4. 设置Android SDK tools工作路径环境变量
  5. Mac配置Android环境变量
  6. Android的静态注册广播问题
  7. 编译V8静态库 for Android
  8. Android环境变量作用--命令行操作
  9. android 动态、静态壁纸实现

随机推荐

  1. 数据结构与算法——2-3树
  2. 花了 2 亿多,等了近 2 年,结果连个可用的网
  3. 剑指 offer 第一题: 二维数组中的查找
  4. 算法科普:有趣的游程编码
  5. Android(安卓)BLE开发小记
  6. 数据结构与算法——2-3-4树
  7. 图解剑指 offer 第二题: 替换空格
  8. 【轻松一刻】生活中用过的那些高级算法知
  9. 算法科普:有趣的霍夫曼编码
  10. 2019 年 2 月份文章汇总