我可以在Android上始终打开应用程序吗?

时间:2012-07-08 08:45:50

标签: android

我不太了解Android多任务处理,但我想在尝试我的项目之前我会问这个问题。

有没有办法可以对Android应用程序进行编程(仅针对Android 4.0+),以便始终在后台打开,并保持所有网络连接的活动状态以及用户界面"绘制"所以,当我打开它时,它总是立即打开,即使平板电脑正在做其他事情,我也可以立即使用它?

感谢。

3 个答案:

答案 0 :(得分:0)

最有可能的是,您想要创建foreground service。前台服务是用户知道的服务,如果Android内存不足,则不被视为要杀死的候选服务。它与持久性通知栏相关联,用户可以点击以将活动带到前台。为确保未关闭网络连接,您的服务应获取wake lock

但是,请记住,长时间运行可能导致电池耗尽的过程被认为是一种不好的做法,除非你真的有充分的理由这样做,否则你应该避免这样做。

答案 1 :(得分:0)

不,Android不是那样构建的。当OS需要更多资源时,它总是可以在后台终止服务/活动。

当资源再次可用时,您可以创建始终运行的服务(粘性服务),如果因资源问题而被终止,则会重新启动。 使用Activies你不能那样做。但是可能会发生您的活动被“暂停”并仍在后台,因此可以很快“恢复”。但是Android再次可以轻易杀死资源。

答案 2 :(得分:0)

除非您在固件级别修改Android并构建自己的版本,否则您无法在后台运行始终应用程序。当Android需要更多资源来运行当前位于前台的应用时,Android会杀死其他应用。

但是,通过在onPause()中保存数据及其当前状态并在onResume()中恢复该状态,可以使您的应用更好地处理此问题。