我正在编写一个具有Foreground服务的应用程序,该服务定期使用GPS来获取用户位置。前景一直在工作,应用程序不会耗尽电池,因为我不会一直使用GPS。我的问题是,在应用程序处于后台一小时后(或多或少)Android在前台服务仍在运行时杀死我的应用程序。 这似乎是因为内存使用,但我正在检查我的应用程序并且它不会消耗大量内存,而不是像facebook那样在没有关闭的情况下整夜保持打开的应用程序。
任何建议如何保持应用程序活着或者可能找出Android杀死我的应用程序的原因?
我还检查并看到RAM内存为25M时的平均使用情况。是那么多?这可能是原因吗?
答案 0 :(得分:1)
你应该检查低记忆杀手。
PF内存不足时会杀死应用程序。 但PF重新启动你的应用程序即使PF杀死了你的申请流程。
因此您的应用程序应重新启动您的服务操作。 也许PF只拨打服务#onCreate()!!应用程序#的onCreate()!!
[PS] 如果要创建低内存杀手状态。 我推荐以下申请。
我建议使用Service#strartForground方法。 PF杀死优先级是下降
REF
http://developer.android.com/reference/android/app/Service.html#startForeground(int,android.app.Notification)
你可以在这里查看
答案 1 :(得分:0)
这是Android的一项功能,允许用户打开多个应用程序,但系统决定何时需要关闭这些应用程序。
如果您希望程序持续很长时间,则应创建一个在后面运行的服务,该服务类似于计算机中的Windows服务。用户和开发人员可以直观地看到它,但它可以根据手机的环境进行更改。
此服务可以调整某个应用程序的首选项,然后应用程序可以读取这些更改并在用户打开时创建可视组件。
要了解有关详情,请了解Google这些主题: -Android服务 - 阅读/写作首选项