Android API更改以某种方式影响代码

时间:2016-06-24 01:05:06

标签: android handler runnable android-5.1.1-lollipop

我一直在在线文档中搜索我的问题的原因,但我似乎无法找到它。

我的代码在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问题,还是我在代码中搞砸了什么?

0 个答案:

没有答案