草庐IT

runnables

全部标签

java - Runnable::new 与新的 Runnable()

为什么下面的第一个例子不起作用?run(R::new);方法R.run未被调用。run(newR());方法R.run被调用。这两个示例都是可编译的。publicclassConstructorRefVsNew{publicstaticvoidmain(String[]args){newConstructorRefVsNew().run(R::new);System.out.println("-----------------------");newConstructorRefVsNew().run(newR());}voidrun(Runnabler){r.run();}static

java - Runnable::new 与新的 Runnable()

为什么下面的第一个例子不起作用?run(R::new);方法R.run未被调用。run(newR());方法R.run被调用。这两个示例都是可编译的。publicclassConstructorRefVsNew{publicstaticvoidmain(String[]args){newConstructorRefVsNew().run(R::new);System.out.println("-----------------------");newConstructorRefVsNew().run(newR());}voidrun(Runnabler){r.run();}static

java - 在运行之前访问Runnable的方法

我正在尝试将Runnable传递给AsyncTask,然后将doInBackgroud的结果设置给它并运行它。我正在尝试以下代码但没有成功。//MyActivity.javapublicvoidclick(Viewv){if(v.getId()==R.id.button){newAsyncHTTP(myAsyncClassCallback()).execute();}}publicRunnablemyAsyncClassCallback(){returnnewStringRunnable(){@Overridepublicvoidrun(){Log.v(DEBUG_TAG,result

java - 做 runnable.run() 是不是错了?

我对多线程的概念还很陌生,有一个方面我不太清楚。线程的创建和运行有两种方式:扩展Thread类和start()线程。创建一个Runnable对象,将其传递给Thread构造函数和start()线程。和this博客文章指出,我们始终应该使用start()启动一个线程,我对它的印象是这样的。但在其中一个答案中here您可以看到一个人如何使用runnable.run()。它给我的印象是有些错误的做法。这正常吗?应该避免吗?您可以明确回答,但我们将不胜感激。 最佳答案 它们只是不同的东西。run()在当前线程中执行Runnable。另一方面

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 - Activity 结束后停止 Handler Runnable

我有一个方法可以让TextView充当“正在加载...”指示器。我正在使用每.5秒更新一次TextView的Runnable来执行此操作。这是我的功能:publicvoiddisplayFlash(){animate=true;Handlerhandler=newHandler();Runnablerunnable=newRunnable(){publicvoidrun(){while(animate){try{Thread.sleep(500);}catch(InterruptedExceptione){e.printStackTrace();}handler.post(newRun

android - 性能方面,什么更好 : AsyncTask or simply create a runnable?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我目前正在开发一个Android项目,该项目会在创建时加载大量图片。为确保UI不被阻塞,我可以选择将其置于可运行或AsyncTask中。什么是(性能方面的)更好的选择还是实际上相同?

Android如何实现从runnable执行异步任务

文档说execute()必须从UI线程调用。但是,由于我每隔几秒更新一次图像,所以我使用的是Runnable。在那里,我定义了必须执行的操作。Starting(execute())ASyncTask就是其中之一。但是,由于ASyncTask不应该从UI线程以外的任何地方调用,我该如何继续? 最佳答案 只需添加runOnUiThread在Runnable中启动AsyncTask:privateRunnableupdateImages=newRunnable(){publicvoidrun(){runOnUiThread(newRunn

android - Handler 中 post(Runnable) 和 sendMessage(Message) 的区别

我只想知道使用sendMessage(Messagemsg)和post(Runnabler)的确切区别是什么。因为即使我们有SeperateRunnable,这两种方法都将在主UI线程中运行。 最佳答案 在幕后他们实际上调用了相同的代码。所以这不是一个大问题。SendMessage可能稍微更有效率(使用更少的对象,因为post将创建一个Message对象),但效率太低以至于根本无关紧要。使用sendMessage您可以添加一个数据对象和一个runnable,但如果您不使用匿名对象并通过构造函数将其传入,则可以使用Runnable来实

java - 嵌套的 postDelayed/Runnable/Handler Android

我正在尝试使用嵌套的postDelayed,因为我需要在(延迟)5分钟后做一些事情,在(延迟)30秒后停止它,做其他事情,然后从头开始再次重复循环中的两个事件。我似乎做对了。我目前的代码:privatelongEnabledAfter=300000;//5minutesprivatelongDisabledAfter=30000;//30secondspublicvoidstart_timers(){on_delayed(EnabledAfter);}//endmethodprivatevoidon_delayed(longperiod_off){Delayed=newRunnable