Xamarin Android应用在被系统杀死后重启时崩溃

时间:2020-06-08 17:43:38

标签: xamarin.android

我正在开发Xamarin.Android应用,但遇到了严重的问题。 当我的应用程序在后台运行并且系统由于缺少内存而将其杀死时,我通过按应用程序图标将其重新启动,应用程序将正确重新启动(我看到启动画面并调用了正确的应用程序启动逻辑)。但是,如果我尝试从所有正在运行的进程所在的托盘中重新启动它,则该应用程序将尝试启动它从其进入后台并崩溃的活动。 这是我从Logcat获得的例外:

2020-06-08 20:32:54.236 21716-21716/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.evapps.newstar, PID: 21716
android.runtime.JavaProxyThrowable: System.NullReferenceException: Object reference not set to an instance of an object
  at NewStar.API.NewStarAPIClient.UpdateAromaVis (System.Nullable`1[T] date) [0x0001d] in <9844f9b56b1f4b3da1f7a7199e6bd72d>:0 
  at NewStar.Droid.MainActivity.LoadAromasFromServer () [0x000a7] in <c2262d51391949b69cd2de88a3c2eedd>:0 
  at NewStar.Droid.MainActivity.<OnCreate>b__17_5 () [0x00062] in <c2262d51391949b69cd2de88a3c2eedd>:0 
  at NewStar.Droid.MainActivity.<OnCreate>b__17_2 (System.Object sender, System.EventArgs e) [0x0012b] in <c2262d51391949b69cd2de88a3c2eedd>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <e579161a0c0c40af9d002afd9ffb2b46>:0 
  at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <8ff75a34d3b645a886612818f7adfe7a>:0 
  at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <8ff75a34d3b645a886612818f7adfe7a>:0 
  at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <8ff75a34d3b645a886612818f7adfe7a>:0 
    at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.34(intptr,intptr)
    at mono.java.lang.RunnableImplementor.n_run(Native Method)
    at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30)
    at android.os.Handler.handleCallback(Handler.java:754)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:163)
    at android.app.ActivityThread.main(ActivityThread.java:6396)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)

令人惊讶的是,在某些设备上未调用系统回调方法OnTrimMemory()和OnLowMemory()(例如,小米Redmi 5 Plus OS版本7.1.2)。

这个问题的根源是什么?如何解决? 预先感谢。

0 个答案:

没有答案