我一直在在线文档中搜索我的问题的原因,但我似乎无法找到它。
我的代码在API 19上运行得很好,但似乎在API 22上没有正常工作。
这是代码 -
@Html.AnythingHelperObject("NameOrId", new {data-yourcustomdatadom = "valueofdatadom"})
如何在API 19上工作(并且应该工作) - 首先启动此@Override
public void run() {
if(!killMe) {
if (countCycles != 5) {
if (++countPress == 2 ) {
takeTwoBreaths();
} else {
mActivity.playMetronomeTick();
mStartMetronomeHandler.postDelayed(this, mActivity.getMetronomeTimeUntilFinish());
}
} else { //we have finished 5 cycles
countCPRs++;
this.stop();
mActivity.playFinishCPR();
mActivity.checkPulse(countCPRs);
newLog("Check pulse");
}
}
}
private void takeTwoBreaths() {
countCycles++;
countPress = 0; // reset counter
mActivity.playTakeTwoBreaths();
mStartMetronomeHandler.postDelayed(this,6000); //start again in 6s
}
,
然后它会Runnable
,然后它会将自己发布到处理程序,以便在18s内回调。完成后,调用playMetronomeTick()
,然后调用takeTwoBreaths()
并发布自己以在6s内调用。那个循环重复5次。
它在API 22上做了什么 - 第一个周期按计划进行(有时),然后当第二个周期到来时,playTakeTwoBreaths()
调用takeTwoBreaths()
将自己设置为在6s内调用,然后在那些6s传递之后,playTakeTwoBreaths()
被称为2x。
有没有人知道这里发生了什么?
我的估计是否正确,这可能是一个API问题,还是我在代码中搞砸了什么?