0

我正在开发一个将一些图形 UI 事件与音轨同步的应用程序。现在,在 onCreate 退出后,您需要按下一个按钮来设置一切。我正在尝试添加功能以使音频/图形交互在所有内容布局后 10 秒开始。

我的第一个想法是,在 onCreate 结束时,使用此处的解决方案使 UI 线程休眠 10000 毫秒,然后调用 button.onClick()。不过,这对我来说似乎是一种非常糟糕的做法,而且无论如何都没有尝试过。有没有实现此自动启动功能的好方法?

4

3 回答 3

1

永远不要在 UI 线程上设置睡眠/延迟。相反,使用Handler它的postDelayed方法在你的Activity的onCreateonStartonResume中完成它。例如:

@Override
protected void onResume() {
    super.onResume();

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            //do whatever you want here
        }
    }, 10000L); //the runnable is executed on UI-thread after 10 seconds of delay
}
于 2013-05-02T10:07:39.487 回答
0
Handler handler=new Handler();
Runnable notification = new Runnable()
 {
     @Override
        public void run() 
        {
                   //post your code............
              }
            };
            handler.postDelayed(notification,10000);
于 2013-05-02T10:08:46.397 回答
0

是的,让 UI 线程进入睡眠状态并不是一个好主意。

试试这个

private final ScheduledExecutorService worker = Executors.newSingleThreadScheduledExecutor();
worker.schedule(task, 10, TimeUnit.SECONDS);
于 2013-05-02T10:10:38.753 回答