任何人都可以告诉我为什么在android.developer文档中他们说:just sleep for 30 seconds.
然后放15 * 1000,这不是30s它只有15 !!
Runnable mTask = new Runnable() {
public void run() {
// Normally we would do some work here... for our sample, we will
// just sleep for 30 seconds.
long endTime = System.currentTimeMillis() + 15*1000;
while (System.currentTimeMillis() < endTime) {
synchronized (mBinder) {
try {
mBinder.wait(endTime - System.currentTimeMillis());
} catch (Exception e) {
}
}
}
// Done with our work... stop the service!
MyAlarmService.this.stopSelf();
}
};
答案 0 :(得分:1)
它可能被设置为30秒,并且在某个地方有人厌倦了在测试和调试周期中等待那么久,所以他们缩短了它但从未改变评论。
答案 1 :(得分:1)
在记录使用描述性变量名称更好的代码时,您会看到一个陷阱。我的猜测是他们在将值更改为15秒时忘记更新他们的评论。
就个人而言,我通常会引入一个常量变量,例如:
private final static int 15_SECONDS = 15 * 1000;
或者使用
private final static int SECONDS = 1000;
并在代码中使用
long endTime = System.currentTimeMillis() + 15_SECONDS;
或分别
long endTime = System.currentTimeMillis() + (15 * SECONDS);
这样就清楚了代码的作用,而且我也很清楚我是否决定更改值,因为很容易记住更改变量名称。