gpt4 book ai didi

xamarin.forms android Task.run() 导致应用程序在几分钟后在后台卡住

转载 作者:行者123 更新时间:2023-12-02 17:43:10 26 4
gpt4 key购买 nike

我的目标是创建一个只要应用程序正在运行就运行的任务,无论应用程序处于前台/后台还是屏幕关闭。

我在 xamarin.forms MainPage.cs 中有这个简单的代码:

public partial class MainPage : ContentPage
{
int _num = 0;
Label l = new Label();
Button b;
public MainPage()
{
InitializeComponent();

l.TextColor = Color.Black;
l.Text = "AAAA";
b = new Button();
b.Clicked += B_Clicked;

StackLayout s = new StackLayout();
s.Children.Add(l);
s.Children.Add(b);

Content = s;

Task.Run(() => incNumberTaskWork());
}

private void B_Clicked(object sender, EventArgs e)
{
l.Text = _num.ToString();
}

void incNumberTaskWork()
{
while (_num < 0xffffffff)
{
_num++;
Task.Delay(1000).Wait();
}
}
}

应用程序在约 10 分钟后卡住 - 尝试了 3 次,当时应用程序处于后台 + 屏幕在 5 分钟后关闭。

前几分钟效果很好

在 Android 三星 S7 上检查过

我做错了什么? IOS也存在同样的问题吗?

最佳答案

一般来说,移动应用程序无法在后台运行(请参阅事件生命周期 https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)。在 iOS 上,你甚至无法考虑在某些允许的严格情况下(例如音频播放器)的情况。在 Android 上,它不太严格,您可以使用后台服务 https://developer.android.com/training/run-background-service/index.html .

关于xamarin.forms android Task.run() 导致应用程序在几分钟后在后台卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43665769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com