android:服务在没有连接到pc时表现不同

Mar*_*ars -1 service android battery sleep

我相信这是因为一些省电选项或者其他什么,但是我无法调试它,因为它只有在电池上时才会失败

我有一个服务,每60秒检查一次网页,我在服务中使用asyncTask来做这个,我把它做成Thread.thisThread.sleep(60000); 在检查之前

难道我做错了什么?睡眠功能可以导致服务器被Android停止吗?

Com*_*are 5

我有一个服务,每60秒检查一次网页,我在服务中使用asyncTask来做这个,我把它做成Thread.thisThread.sleep(60000); 在检查之前

请不要这样做.

首先,使时间段可配置,包括"不要这样做,永远"选项.当开发人员编写主要用途似乎耗尽大量电池寿命的应用时,用户真的不喜欢它.保持设备唤醒并每分钟轮询Web服务器将耗费大量电池寿命.像这样的行为导致用户运行他们可以找到的每个任务杀手.

其次,特别是大于一分钟左右的时间,请使用AlarmManager和[ WakefulIntentService] [1].安排AlarmManager在用户选择的时间段(理想情况下通过setInexactRepeating())调用您的应用程序.将WakefulIntentService您的网页轮询.如果您遵循记录的WakefulIntentService配方,设备将保持清醒足够长的时间以便您获取数据,然后将重新入睡.您的服务不会始终保留在内存中.您可以获得功能,并且用户可以获得更好的设备性能.