StackLayout在后台后不会重新出现

时间:2017-10-16 18:41:22

标签: android xamarin xamarin.forms

我目前正在开发一个Xamarin.Forms应用程序,每15秒查询一次API以获取更新。我已经使用MessagingCenter来执行这个漫长的runnimg任务,因为即使应用程序背景也会继续运行。我目前只为Android项目添加了此代码,因为它使用了Service我正在使用它并稍微调整它以满足我的要求:https://github.com/RobGibbens/XamarinFormsBackgrounding

当任务收到它的有效负载时,它会将信息呈现为构成页面主要内容的StackLayout的子项。 (如果有所不同,该页面位于标签持有者中)

虽然应用程序位于前台,但一切都按预期工作,一旦它背景,它仍然无问题,我可以从控制台看到应用程序仍在进行正确的API调用并接收正确的数据,但是一旦应用程序返回到前台,StackLayout和页面上的所有内容都会重新加载,就像第一次打开应用程序一样。

然后,我仍尝试使用它StackLayout更新x:Name,并且不会收到错误,但屏幕上没有任何更改。

我甚至尝试过更改BackgroundColor而没有任何更改,但如果我Console.WriteLine(layout.BackgroundColor.ToString());它会提供颜色,而不是屏幕上的颜色。

我担心的可能是它正在创建一个新的布局,当它回到前台时,但是将旧布局保留在内存中,这样任何代码都会对旧版本进行更改,而不是屏幕上的新版本

如果有人能以某种方式解释这种行为,我可以理解并建议修复,我们将非常感激。

0 个答案:

没有答案