У меня есть служба (Foreground, STICKY) и активность (LaunchMode.SingleTask) в том же приложении.mvvmcross app singleton lifecycle
Есть 2 mvvmcross сценарии установки:
- служба запускается от загрузки, mvvmcross инициализируется с «setup.EnsureInitialized» методом
- служба запускается от деятельности, и mvvmcross инициализровать ' классический 'путь
Иногда из-за низкого давления памяти или неожиданного исключения моя служба убивается или умирает.
я нажимаю тогда на моей пусковой установки
10-13 01:05:06.699 497 507 I ActivityManager: START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=LoneWorker.Client.Android.App/loneworker.client.android.app.TrialSplashScreen bnds=[240,223][360,379] u=0} from pid 11747
10-13 01:05:06.769 497 7269 I ActivityManager: Start proc LoneWorker.Client.Android.App for activity LoneWorker.Client.Android.App/loneworker.clientandroid.app.views.HomeView: pid=11980 uid=10081 gids={3003, 1015, 1023, 1028}
но заставка не появляется, как обычный старт приложения, и приложение не сразу.
10-13 01:05:07.959 11980 11980 I MonoDroid: UNHANDLED EXCEPTION:
10-13 01:05:07.969 11980 11980 I MonoDroid: System.NullReferenceException: Object reference not set to an instance of an object
10-13 01:05:07.969 11980 11980 I MonoDroid: at Cirrious.CrossCore.Mvx.Resolve<Cirrious.MvvmCross.Plugins.Messenger.IMvxMessenger>() <0x00038>
10-13 01:05:07.969 11980 11980 I MonoDroid: at LoneWorker.ClientAndroid.App.Views.HomeView..ctor() <0x0002f>
10-13 01:05:07.969 11980 11980 I MonoDroid: at (wrapper dynamic-method) object.ee0d83da-1657-4884-bf34-4fc266ad42f0 (intptr,object[]) <0x0003f>
10-13 01:05:07.969 11980 11980 I MonoDroid: at Java.Interop.TypeManager.n_Activate (intptr,intptr,intptr,intptr,intptr,intptr) <0x00283>
10-13 01:05:07.969 11980 11980 I MonoDroid: at (wrapper dynamic-method) object.2fd07179-5f93-420a-8653-1fbe1c8a2f2e (intptr,intptr,intptr,intptr,intptr,intptr) <0x0006b>
В журнале у меня есть только исключение, потому что мессенджер не может быть разрешен контейнером Mvx. => Это невозможно решить просто потому, что процесс установки не запускается. Он ведет себя так, как приложение уже было инициализировано ...
Так что же предыдущий сингл приложения из предыдущего разбитого сервиса все еще где-то?
Могу ли я заставить приложение повторно инициализировать?
Я немного смущен этим странным поведением ...
yup! вот и все :). Есть, однако, что-то странное: Когда приложение перезагружается после сбоя, оно не проходит через экран Splash, а непосредственно до последнего представления перед сбоем .... – Roubachof