Xamarin.android 后台线程在旋转后导致应用程序无错误崩溃

Xamarin.android 后台线程在旋转后导致应用程序无错误崩溃,xamarin.android,Xamarin.android,我在BackgroundWorker中运行了一组长数据库操作,以保持UI的响应性 如果在后台线程仍在运行时旋转设备,则正常的活动生命周期将运行暂停等。。。正如我所期望的那样,视图被重新加载。在视图重新加载后不久,整个应用程序崩溃,据我所知,ddms中没有任何相关的错误消息或调试输出 崩溃似乎不是异常的结果。在后台线程中,我将数据库操作包装在try/catch中,它们永远不会被触发。我应该查找哪些类型的错误不会触发异常?我猜您在BackgroundWorker中放置了一些与UI相关的工作。使用Ru

我在BackgroundWorker中运行了一组长数据库操作,以保持UI的响应性

如果在后台线程仍在运行时旋转设备,则正常的活动生命周期将运行暂停等。。。正如我所期望的那样,视图被重新加载。在视图重新加载后不久,整个应用程序崩溃,据我所知,ddms中没有任何相关的错误消息或调试输出


崩溃似乎不是异常的结果。在后台线程中,我将数据库操作包装在try/catch中,它们永远不会被触发。我应该查找哪些类型的错误不会触发异常?

我猜您在BackgroundWorker中放置了一些与UI相关的工作。使用RunOnUiThread运行这些方法。

如果您正在将上下文活动、视图或从Android.App.Context派生的任何内容传递给线程,则线程可能正在尝试访问已处置的对象。谢谢,Matthew。我正在传递一个委托,它是视图的成员变量。有趣的是,当数据库例程完成并且视图状态消失时,仍然会调用委托。我仍然不确定是什么导致了崩溃,以及为什么我没有得到任何错误输出,但我发现我可以通过观察者模式来防止它。我在OnResume中将视图注册为数据库操作的观察者,并在OnPause中将其注销。