On Jun 18, 2012, at 11:35 AM, Jonathan Chapman wrote:
> The reason the null reference is happening is that the object is gone.
Are you sure it's the same process?
Each line in the Android Debug Log contains a process id (pid):
http://docs.xamarin.com/android/advanced_topics/android_debug_log#Interesting_Messages
It's possible that your process is launched, you go "elsewhere" for a bit, and
Android nukes your process. Later your process is needed, so Android creates a
new process, but it's "missed' whatever state you're expecting.
You can see if this is happening by reading the Android Debug Log: do you see
multiple __mono_init__ messages within the timeframe you're dealing with? Each
__mono_init__ message will be from a different process (check the pid to
confirm).
If process restart is the problem, then what you need to do is preserve your
app state within Activity.OnSaveInstanceState(), or perhaps instead use a
Service to contain your static data so that "something" is always running.
(Android can still nuke your process if you have Services running, but
presumably it'll nuke your process _later_ than it would otherwise, and your
static member init + cleanup logic can be centralized in the Service lifecycle
logic.)
If process restart isn't the problem, we'll sadly need more information.
Android debug logs and logging would be a good start. ;-)
- Jon
_______________________________________________
Monodroid mailing list
[email protected]
UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid