我有一个服务,每60秒检查一次网页,我在服务中使用asyncTask来做这个,我把它做成Thread.thisThread.sleep(60000); 在检查之前
请不要这样做.
首先,使时间段可配置,包括"不要这样做,永远"选项.当开发人员编写主要用途似乎耗尽大量电池寿命的应用时,用户真的不喜欢它.保持设备唤醒并每分钟轮询Web服务器将耗费大量电池寿命.像这样的行为导致用户运行他们可以找到的每个任务杀手.
其次,特别是大于一分钟左右的时间,请使用AlarmManager和[ WakefulIntentService] [1].安排AlarmManager在用户选择的时间段(理想情况下通过setInexactRepeating())调用您的应用程序.将WakefulIntentService您的网页轮询.如果您遵循记录的WakefulIntentService配方,设备将保持清醒足够长的时间以便您获取数据,然后将重新入睡.您的服务不会始终保留在内存中.您可以获得功能,并且用户可以获得更好的设备性能.
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |