我有一个扩展Activity
的{{1}},其中我想要计算AppWidgetProvider
被调用的次数。问题是,每隔一段时间Logcat就会有onReceive()
的条目,不久之后会有一个条目"No longer want blah.foo.bar.baz"
。 Android杀死然后重新启动我的进程,这会导致我的所有变量初始化为默认值。我认为维持变量状态的唯一方法是在Android“不再需要...”时使用"Scheduling restart of crashed service blah.foo.bar.baz"
将它们写入磁盘,然后在“Scheduling restart ..”时再读回它们。还有其他方法吗?
答案 0 :(得分:1)
问题是,每隔一段时间Logcat就会有一个条目说“不再需要blah.foo.bar.baz”,不久之后会有一个条目说“调度崩溃服务重启blah.foo.bar.baz” ”。 Android杀死然后重新启动我的进程,这会导致我的所有变量初始化为默认值。
这是完全正常的。
我认为维持变量状态的唯一方法是在Android“不再需要...”时使用SharedPreferences将它们写入磁盘,然后在“Scheduling restart ..”时将其读回。
这不起作用,因为你无法控制那些时间点。
还有其他方法吗?
数据更改时保留数据(数据库,SharedPreferences
或文件)。在需要时读入数据。