Android 跨appWidget重新启动维护变量?
我有一个androidAndroid 跨appWidget重新启动维护变量?,android,service,android-appwidget,Android,Service,Android Appwidget,我有一个android活动扩展AppWidgetProvider,我想记录调用onReceive()的次数。问题是,Logcat中每隔一段时间就会出现一个条目,上面写着“不再需要blah.foo.bar.baz”,不久之后就会出现一个条目,上面写着“计划重新启动崩溃的服务blah.foo.bar.baz”。Android终止并重新启动我的进程,这会导致我的所有变量初始化为默认值。我能想到的维护变量状态的唯一方法是,当Android“不再需要…”时,使用SharedReferences将它们写入磁
活动
扩展AppWidgetProvider
,我想记录调用onReceive()
的次数。问题是,Logcat中每隔一段时间就会出现一个条目,上面写着“不再需要blah.foo.bar.baz”,不久之后就会出现一个条目,上面写着“计划重新启动崩溃的服务blah.foo.bar.baz”。Android终止并重新启动我的进程,这会导致我的所有变量初始化为默认值。我能想到的维护变量状态的唯一方法是,当Android“不再需要…”时,使用SharedReferences
将它们写入磁盘,然后在“计划重新启动…”时重新读取它们。还有其他方法吗
问题是,Logcat中每隔一段时间就会有一个条目说“不再需要blah.foo.bar.baz”,不久之后就会有一个条目说“计划重新启动崩溃的服务blah.foo.bar.baz”。Android终止并重新启动我的进程,这会导致我的所有变量初始化为默认值
这是完全正常的
我能想到的维护变量状态的唯一方法是在Android“不再需要…”时使用SharedReferences将它们写入磁盘,然后在“计划重新启动…”时将它们读回
这是行不通的,因为你在这些时间点上没有控制权
还有其他方法吗
数据更改时保留数据(数据库、SharedReferences
或文件)。需要时读入数据