Android 安卓系统中稳定、准确的计时

Android 安卓系统中稳定、准确的计时,android,handler,timing,Android,Handler,Timing,我正在尝试为Android设备创建一个音乐定序器应用程序,并希望得到一些关于如何实现坚如磐石的计时功能的建议 如果我将Runnable传递给Handler.postDelayed并指定x毫秒的延迟时间,那么该Runnable是否保证在x毫秒的时间内执行 如果我无法通过Handler实现稳定和准确的计时,我还有什么其他选择 提前谢谢我认为“硬实时”编程是不可能的。选择似乎是寻找事件发生时发出的信号。这可以通过创建自己的标志并在另一个线程中轮询该标志的值来实现 您可以使用倒计时来指定必须经过的特定时

我正在尝试为Android设备创建一个音乐定序器应用程序,并希望得到一些关于如何实现坚如磐石的计时功能的建议

如果我将Runnable传递给Handler.postDelayed并指定x毫秒的延迟时间,那么该Runnable是否保证在x毫秒的时间内执行

如果我无法通过Handler实现稳定和准确的计时,我还有什么其他选择

提前谢谢

我认为“硬实时”编程是不可能的。选择似乎是寻找事件发生时发出的信号。这可以通过创建自己的标志并在另一个线程中轮询该标志的值来实现

您可以使用倒计时来指定必须经过的特定时间长度(以毫秒为单位)

您可以使用系统时钟,通过轮询已过的时间来制作自己的计时器

还有一个名为FileObserver的有用类,它允许您查看特定文件,并听到诸如打开和关闭之类的事件。使用这些信号,您可以知道是时候进行下一个操作了


最糟糕的错误是,在特定的硬件上出现了一个计时问题,但在大多数硬件上却没有。问题是,如果我没有拥有所有这些,那么发现时机问题就很难了。我希望其他人会对这个问题有更好或更多的答案。

在谷歌搜索了很多次之后,我终于在这里找到了答案:

处理程序、Thread.sleep()和计时器似乎并不是我们要走的路

感谢DrA的回答,非常感谢-很抱歉没有尽快回复,我已经离开了一段时间。

如果处理程序、线程.sleep()和计时器不是解决问题的方法。。。那还有什么?我看过链接,但它是TLDR。