zoukankan      html  css  js  c++  java
  • 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

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

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

    静态变量,要慎用!

  • 相关阅读:
    次小生成树
    [bzoj5329] P4606 [SDOI2018]战略游戏
    CF487E Tourists
    P3225 [HNOI2012]矿场搭建
    CF #636 (Div. 3) 对应题号CF1343
    P3469 [POI2008]BLO-Blockade
    大假期集训模拟赛12
    大假期集训模拟赛11
    大假期集训模拟赛10
    小奇画画——BFS
  • 原文地址:https://www.cnblogs.com/baron89/p/3937865.html
Copyright © 2011-2022 走看看