jjzjj

Runnables

全部标签

android - 在 finish() 之后,发布到 Activity 的 Handler 的 Runnables 将继续执行多长时间?

我有一个链接到UI线程的Handler。正如预期的那样,我可以向它post()Runnable并让它们在UI线程上执行。我还有一个按钮,按下该按钮时将调用Activity上的finish()。finish()如何影响UIHandler的消息队列?它会处理队列中的所有消息但不再接受吗?它会不会直截了本地拒绝运行任何东西并立即终止(我有理由相信这不是真的)。在onDestroy()被调用之前,它会继续允许Runnable被发送到它吗?您应该假设Activity堆栈只包含一个Activity。 最佳答案 您可以在您的应用程序仍然存在时通过

android - 在 Handler 中执行所有预定的(postDelayed)runnables

我使用一个处理程序,它通过postDelayed(r,DELAY_TIME)发布一些Runnable,但我需要在发布之前执行所有Runnables通过postDelayed新建。有什么好的想法可以尽可能简单地实现这一目标吗?编辑:我想要的基本上是这样的:Runnabler=newRunnable(){//Dosomefancyaction};if(mHandler.runnablesScheduled){mHandler.flushAllScheduledRunnables();}mHandler.postDelayed(r,DELAY); 最佳答案

android - 什么时候在 postDelayed 中发布的 runnables 在 Android 上实际执行?

有一段代码我使用了postDelayed和一些在主线程上执行的其他代码。我运行了几次,总是看到以下输出:07-1314:22:18.51115376-15376/sample1.com.sample_1D/MainActivity:i=0....07-1314:22:18.60115376-15376/sample1.com.sample_1D/MainActivity:onResume07-1314:22:18.60115376-15376/sample1.com.sample_1D/MainActivity:postDelayed正如我从日志输出中看到的,我的延迟是50毫秒并不重要

java - Android AsyncTask.THREAD_POOL_EXECUTOR 与自定义 ThreadPool 与 Runnables

我有一些任务需要在Android上并发处理,我想使用某种线程池来完成这些任务。当使用AsyncTask.THREAD_POOL_EXECUTOR执行AsyncTask时,我无法在文档中找到“幕后”实际发生的情况。我的问题是:通过将AsyncTasks与AsyncTask.THREAD_POOL_EXECUTOR结合使用而不是通过Runnables实现自定义ThreadPool,我会失去什么?(让我们谈谈后蜂窝)。我意识到这个问题很笼统,但我对并发编程还很陌生(除了AsyncTask本身)。我不是在寻找有关并发编程的教程!我只是想了解Android特定的AsyncTask.THREAD_

android - 更新 GUI : Runnables vs Messages

要从其他线程更新GUI,主要有两种方法:将java.lang.Runnable与以下任一方法一起使用:Activity.runOnUiThread(Runnable)View.post(Runnable)View.postDelayed(Runnable,long)Handler.post(Runnable)使用android.os.Message:Handler.sendMessage(Message)/Handler.handleMessage(Message)您也可以使用AsyncTask,但我的问题更侧重于更新一个非常简单的组件的用例。让我们看看如何使用这两种方法来完成:使用R