Check out http://welltechnically.com/?p=2671 -- see point 3.
I haven't tried it yet but it looks promising.
Below is copied and pasted directly...
"Be careful when using static variables. Don’t think that when you initialized them in activity 1 – you will have them initialized in activity 2. The only safe place to initialize global statics would be Application class."
"Mark also suggested using DDMS to simulate this scenario. I followed the instructions and killed the process after startup. As predicted, the activity that was resumed attempted to use the IoC container to get the service layer and promptly threw all of its toys out of the cot. If I instead subclassed Application and did the setup there, I could always ensure the dependencies were configured whenever the process started:"
using System;
using Android.App;
using Android.Runtime;
using SomeApplication.Common.Services;
namespace SomeApplication.Android
{
[Application(Debuggable = true, Icon = "@drawable/AppIcon", Label = "My Application")]
class MyApplication : Application
{
public MyApplication(IntPtr ptr, JniHandleOwnership ownership) : base(ptr, ownership)
{
}
public override void OnCreate()
{
base.OnCreate();
#if DEBUG
ServiceFactory.Initialize(ServiceFactoryType.Mock);
#else
ServiceFactory.Initialize(ServiceFactoryType.Service);
#endif
}
}
}