07-22-2010 07:51 AM
Your app being started has nothing to do with there being a live reference from your app to persistent store. During system startup, the OS does a lot of analysis of existing modules, whether or not they are flagged to run at startup. During that analysis, it will link the custom object in persistent store to your app's module(s). (This analysis also makes it possible for the system to automatically delete persistent, custom objects that have been orphaned by an application being uninstalled.)
ok, that makes sense.
It seems that the following comment by MSohm is somewhat misleading
> This is an "uncommitted" modified persistent object that is in use by the application.
As Simon posted, it's not having a persistent object, but having a custom persistent object that forces a restart. Try your experiment using a Hashtable instead of a ConfigObject.
Note that the downside of using a generic object class like Hashtable is that your app's persistent data will not go away when your app is deleted.
Yes, I know how non-custom persistent objects work (it seems that I did not explain it well in my initial post).
I suppose that custom objects in Persistent Store require device restart even for app upgrade, because Java VM needs to "load" and "attach" then to the new class definitions.
Thanks again !