Android应用程序:我如何在关机时请求额外的时间来完成文件保存?

Android应用程序:我如何在关机时请求额外的时间来完成文件保存?,android,file,persistence,Android,File,Persistence,我遇到了一个问题,我认为是Android在我的应用程序仍在向文件写入数据时终止了我的应用程序造成的 在iOS上,我可以这样做,迫使操作系统在关机前等待完成所有操作: __block UIBackgroundTaskIdentifier aTaskID = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^ { [[UIApplication sharedAppl

我遇到了一个问题,我认为是Android在我的应用程序仍在向文件写入数据时终止了我的应用程序造成的

在iOS上,我可以这样做,迫使操作系统在关机前等待完成所有操作:

    __block UIBackgroundTaskIdentifier aTaskID = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^
    {
        [[UIApplication sharedApplication] endBackgroundTask:aTaskID];
    }
是否有一些等效的方法可以让我在Android上调用,以便操作系统知道我正在进行清理工作,我只需要在删除应用程序之前完成这些文件的编写?

根据,当应用程序被销毁时,将始终调用Pause和onStop方法。但是,执行任何CPU密集型任务都应该始终使用活动的onStop方法

根据您的要求,我建议您使用活动的onStop方法进行清理工作

如果您认为Android操作系统正在杀死您的应用程序,这意味着该操作系统正试图释放内存资源以供其他应用程序使用,因此,将调用onStop方法,您可以实现您的逻辑以使用该方法保存数据


我不建议使用onPause方法,因为在其他应用程序之间快速切换、来电等情况下,它可能会被频繁调用。

Atish的回答很好,你也可以启动一项服务,这只不过是对操作系统的正式请求,我想在后台做些事情。Android通常会在抢先杀死Oreo+前几分钟提供后台服务。