Android 安卓前台服务始终停止

Android 安卓前台服务始终停止,android,android-service,foreground-service,Android,Android Service,Foreground Service,我有一个Android应用程序,它有一个前台服务。服务使用来自某些api的数据。此过程可能需要几分钟和几小时。当服务运行时,它将日志写入logcat,其中包含执行进度和其他信息。但每次我运行应用程序(和服务)时,它都会在一段时间后停止工作。我想操作系统杀死它是因为它的原因,但我无法理解为什么以及如何避免它。我查看了logcat,发现了一些可疑记录: 04-16 16:24:41.180 28045 28058 I MyCoolApplication: Background concurrent

我有一个Android应用程序,它有一个前台服务。服务使用来自某些api的数据。此过程可能需要几分钟和几小时。当服务运行时,它将日志写入logcat,其中包含执行进度和其他信息。但每次我运行应用程序(和服务)时,它都会在一段时间后停止工作。我想操作系统杀死它是因为它的原因,但我无法理解为什么以及如何避免它。我查看了logcat,发现了一些可疑记录:

04-16 16:24:41.180 28045 28058 I MyCoolApplication: Background concurrent copying GC freed 90524(3MB) AllocSpace objects, 70(1400KB) LOS objects, 50% free, 7MB/14MB, paused 811us total 109.136ms
04-16 16:24:51.497 28045 28045 I MyCoolApplication: Explicit concurrent copying GC freed 87516(4MB) AllocSpace objects, 30(600KB) LOS objects, 49% free, 4MB/9MB, paused 303us total 51.352ms
MyCoolApplication
是我的应用程序名。这些记录在应用程序运行时出现,并在应用程序死亡后继续出现。可能是什么?如何解决此问题

UPD:

这是我的服务(c#代码,我使用Xamarin)


此错误与内存异常有关。因此,如果您正在进行任何主要的图像处理或处理大量数据,那么它将被GC释放,此时您可以解决这个问题。您可以将您正在使用的代码放在内存中吗?你正在加载图像吗?@Ismailaoui不,我不处理任何图像。代码已添加此错误与内存异常有关。因此,如果您正在进行任何主要的图像处理或处理大量数据,那么它将被GC释放,此时您可以解决这个问题。您可以将您正在使用的代码放在内存中吗?你正在加载图像吗?@Ismailaoui不,我不处理任何图像。添加了代码
class MyApiService : BackgroundService
{
    public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId)
    {
        base.OnStartCommand(intent, flags, startId);
        var notification = CreateNotification();
        StartForeground(100, notification);            
        ConsumeDataFromApi(); 
        StopSelf(startId);

        return StartCommandResult.Sticky;
    }

    private Notification CreateNotification() 
    {
        // some code here 
    }

    private void ConsumeDataFromApi(DateTime start, DateTime end) 
    {
         // some long-running method consuming and performing data from json api
    }
}