2011-12-30 87 views
0

我有一个应用程序在后台服务。服务在启动后运行,但是当应用程序启动并关闭时,服务会保留应用程序使用的所有内存。后台服务保留应用内存

如何清理所有内存以便服务在启动时运行灯光?

回答

1

停止服务,如果您尚未这样做(通过stopService()stopSelf())。

之后,当您的进程需要其他进程的RAM时,您的进程最终将被操作系统终止。

+0

但是TI不希望服务被关闭,我需要在应用程序关闭后运行服务。 – Fischer 2011-12-30 16:17:28

+1

首先,这通常不是一个好主意。用户真的不喜欢开发人员保持服务始终运行。用户将使用任务杀手和设置应用来摆脱您的服务。 Android尽管提供了服务,但最终还是会摆脱您的流程,尽管不一定很快。与此同时,您的流程将使用最高峰时所需的大量内存。所以,要么摆脱永恒的服务(例如,使用'AlarmManager'和一个轮询模式),要么住在消耗这个内存的事实中。 – CommonsWare 2011-12-30 16:26:44

+0

谢谢。如果服务人员更新了通知,服务人员只会检查每个x小时的网站。我可以使用AlarmManager完成此任务吗? – Fischer 2011-12-30 20:47:18