静态变量的寿命是多少?
如果我在单例中初始化了静态ArrayList
,那么仅当应用程序被用户杀死时,我才应该期望引用为null
吗?或者,如果某些活动在后台被杀死,可能是null
?
答案 0 :(得分:1)
静态变量将不会为空。
答案 1 :(得分:1)
静态变量有可能在不终止应用程序的情况下变为null。您可以在@CommonsWare帖子中阅读有关此内容的更多信息。
报价:
可能发生的情况是,用户在您的应用程序中,通过HOME(或通知,来电,或近期任务列表等)离开应用程序,然后又通过最近的用户返回到您的应用程序-任务列表。如果您的进程在不处于前台的时间内被终止,则从“近期任务”列表启动活动时,静态数据成员将为null。由于用户返回的活动不一定是您的启动器活动,因此即使您的进程已终止并重新启动,您的应用程序的行为也可能会像静态数据成员自发地变为null一样。
答案 2 :(得分:0)
静态变量将保持活动状态,直到整个应用程序被杀死或破坏为止。如果应用处于暂停模式,则静态变量仍保留该值