如果我将IntentService定义如下,Android中会发生什么:
public class BackgroundService extends IntentService {
public BackgroundService() {
super("BackgroundService");
}
@Override
protected void onHandleIntent(Intent workIntent) {
run();
}
private void run() {
try {
while(true)
{
//Some expensive Internet & SQL querying stuff
Thread.sleep(1000 * 60 * 60);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
电池有多糟糕? 我的目标是相当基本的答案(如果我将睡眠设置为1天会发生什么?)
答案 0 :(得分:1)
你问这么接近one。他还试图在循环中做一些工作并使Thread休眠。
根据提供的问题中的极客回答,我可以告诉您,这取决于//Some code
行以及您将用什么替换它。您可以使用密集的代码替换它,使用互联网,GPS,闪光灯,相机并消耗电池肯定或您可以用任何东西替换它并让Thread
睡眠允许CPU
将其替换为需要执行任何操作的任何其他Thread
。