杀死了Android服务和静态变量

时间:2011-11-17 19:27:42

标签: android service static

使用Android 2.1+。我有一个服务器不时被操作系统杀死(由于内存压力,我猜)。

此服务使用类的静态成员字段维护某些状态。我期待静态字段保持其值,尽管操作系统会杀死并重新启动服务。

但似乎不会发生这样的事情。重新启动后,静态变量将重置为默认值。 它应该发生什么?我应该使用另一种方法来保持持久状态,尽管杀死/重启?

1 个答案:

答案 0 :(得分:7)

是的,这是您的服务被杀死时发生的情况。程序从内存中取出,当它重新加载到内存中时,静态变量的默认值都是假定的。换句话说,程序的字节代码不能从执行变为执行。

通常认为使用静态变量来保持状态是不好的。尝试将它们存储在presistent存储中,如sqlite数据库。