Java 使应用程序始终位于堆栈顶部(ANDROID)

Java 使应用程序始终位于堆栈顶部(ANDROID),java,android,performance,service,Java,Android,Performance,Service,导言 我想让我的应用程序始终位于应用程序堆栈的顶部,以便在内存不足的情况下,应用程序永远不会从内存中删除。该应用程序通常获取位置并保存在数据库中,并且主要在后台运行。这项工作主要是在服务(前台服务)中完成的。为此,服务必须连续运行,不得中断 我的理论 我想到的解决办法是,每隔一段时间,我开始一项活动,然后结束它。并将应用程序带到后台。这样,应用程序将始终位于堆栈顶部。但在这种情况下,整个应用程序将出现在前台,我想再次将其带到后台。但这将(可能)保持它在堆栈顶部 一直尝试到现在 我尝试了通知服务

导言

我想让我的应用程序始终位于应用程序堆栈的顶部,以便在内存不足的情况下,应用程序永远不会从内存中删除。该应用程序通常获取位置并保存在数据库中,并且主要在后台运行。这项工作主要是在服务(前台服务)中完成的。为此,服务必须连续运行,不得中断

我的理论

我想到的解决办法是,每隔一段时间,我开始一项活动,然后结束它。并将应用程序带到后台。这样,应用程序将始终位于堆栈顶部。但在这种情况下,整个应用程序将出现在前台,我想再次将其带到后台。但这将(可能)保持它在堆栈顶部

一直尝试到现在

  • 我尝试了通知服务,但由于内存不足而失败 通知服务的条件也被删除
  • 尝试定期更新通知服务的消息,但效果不佳
  • 已在START\u STICKY&START\u REDELIVER\u意图上启动服务,但仍然没有良好结果
研究

我看过、、等链接,但效果不好

我不希望我的活动被从堆栈中删除,并且服务可以在内存不足的情况下不受任何中断地运行

更新

我试着用这个。我刚刚启动了一项服务,每隔一段时间,它就会启动一项活动,然后完成它,然后调用服务。但当设备被锁定时,它会将堆栈中的前一个应用放在前面,并在堆栈中后退一步。我不想那样。但在正常的设备解锁状态下,它可以正常工作

有人有什么建议吗