在扩展AppWidgetProvider的我的widget类中,我有一些包含数据的静态最终ArrayLists.我的Widget中有一些按钮,当按下时会导致在类中调用onReceive.我注意到有时ArrayLists在运行onReceive时会丢失它们的值(为空),但大多数时候它们都有预期的数据.
ArrayList在此上下文中是否可以安全使用?是否有任何窗口小部件生命周期事件会导致列表重新实例化.我发现很难找到有关Widget Lifecycle事件的任何文档.
解决方法
Is the ArrayList safe to use in this context?
否.如果您的应用程序没有其他任何内容正在运行,则您的进程可能会在onUpdate()调用之间终止.
Is there any widget lifecycle events that would cause the list to be re instantiated.
您的流程已终止.
I am finding it very hard to find any documentation on Widget Lifecycle events.
那是因为你的思维方式没有生命周期.
AppWidgetProvider是一个清单注册的BroadcastReceiver.清单注册的BroadcastReceiver仅在其onReceive()调用时生存.生活在该范围之外的任何东西,例如静态数据成员,都是可靠的.