[英]android: service behaved differnat when not connected to pc
我相信这是因为某些省电选项或其他原因,但我无法对其进行调试,因为它仅在使用电池供电时才会失败
我有一个服务,每60秒检查一次网页,我在服务中使用asyncTask来执行此操作,并将其设置为Thread.thisThread.sleep(60000); 在检查之前
难道我做错了什么? 睡眠功能会导致服务器被android停止吗?
我有一个服务,每60秒检查一次网页,我在服务中使用asyncTask来执行此操作,并将其设置为Thread.thisThread.sleep(60000); 在检查之前
请不要那样做。
首先,使时间段可配置,包括“永远不要这样做”选项。 当开发人员编写的应用程序的主要目的是消耗大量电池寿命时,用户真的不喜欢它。 使设备保持唤醒状态并每分钟轮询一次Web服务器将消耗大量的电池寿命。 正是这种行为导致用户跑到他们可以找到的每个任务杀手。
其次,尤其是对于大于一分钟的时间段,请使用AlarmManager
和[ WakefulIntentService
] [1]。 安排AlarmManager
在用户选择的时间段(理想情况下通过setInexactRepeating()
)调用您的应用程序。 让WakefulIntentService
轮询您的网页。 如果您遵循记录的WakefulIntentService
食谱,则该设备将保持唤醒状态足够长的时间以使您可以获取数据,然后将重新进入睡眠状态。 您的服务不会一直保留在内存中。 您获得了功能,用户得到了更好的设备性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.