停止报警[android应用]

时间:2012-04-29 16:50:35

标签: java android alarm

任何人都可以告诉我为什么在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();
                }
            };

Here

2 个答案:

答案 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);

这样就清楚了代码的作用,而且我也很清楚我是否决定更改值,因为很容易记住更改变量名称。

相关问题