设备后崩溃.开始时间Xamarin的



我正在Xamarin应用程序的页面之间切换。从每10秒更新一次的列表切换到每250毫秒检查一次布尔值的另一个表单。两者都运行Device。StartTimer,但不应该重叠

这是List Form上的开始计时器:

protected override void OnAppearing()
{
base.OnAppearing();
vm.cmdReload.Execute(null);
//...
blnTimerActive = true;
startTimer();
}
private void startTimer()
{
Device.StartTimer(System.TimeSpan.FromSeconds(10), () =>
{
if (!blnTimerActive)
return false;
UpdateUserDataAsync();
return true;
}); // This is where it breaks, I think..
}
protected override void OnDisappearing()
{
base.OnDisappearing();
blnTimerActive = false;
}

每次我尝试运行时,它都会显示一个错误,说"没有兼容的代码在线程上运行";和"未设置为对象实例的对象引用";错误消息

这发生在我进入下一个表单并且这个表单是"消失"我不知道为什么这个计时器还在运行。任何帮助都非常感激!如果我能使这个问题更容易理解,请告诉我。

我仔细检查了输出结果。它在我的代码中崩溃了,但不知何故没有显示中断发生的地方。我检查了输出,它准确地显示了它的位置。

如果您遇到了这种情况,请仔细检查您的输出。它应该说明出错的行号,添加try catch和步骤通过。你应该很容易发现你的错误。

感谢大家的帮助!

最新更新