Questions tagged «android-handler»

13
处理程序与AsyncTask与线程[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 10个月前关闭。 我得到了稍微感到困惑之间的差异Handlers,AsyncTask并Threads在Android中。我已经在StackOverflow上阅读了很多博客和问题。 Handler是提供您与UI进行通信的后台线程。例如,更新进度条应通过进行Handler。使用处理程序具有的优势MessagingQueues,因此,如果您要计划消息或更新多个UI元素或具有重复任务。 AsyncTask相似,实际上,它们使用Handler,但没有在UI线程中运行,因此对于获取数据(例如获取Web服务)非常有用。稍后,您可以与UI进行交互。 Thread但是不能与UI交互,提供更多的“基本”线程,您会错过的所有抽象AsyncTask。 但是,我想在服务中运行套接字连接。应该在处理程序,线程还是什至是线程中运行它AsyncTask吗?完全不需要UI交互。我使用的性能是否有所不同? 同时,文档已得到重大改进。


7
该Handler类应该是静态的,否则可能会发生泄漏:IncomingHandler
我正在开发带有服务的Android 2.3.3应用程序。我在服务内部拥有此功能,可与Main活动进行通信: public class UDPListenerService extends Service { private static final String TAG = "UDPListenerService"; //private ThreadGroup myThreads = new ThreadGroup("UDPListenerServiceWorker"); private UDPListenerThread myThread; /** * Handler to communicate from WorkerThread to service. */ private Handler mServiceHandler; // Used to receive messages from the Activity final Messenger inMessenger = new …

6
取消handler.postdelayed进程
我正在handler.postDelayed()创建一个等待期,直到我的应用程序进入下一阶段。在等待期间,我将显示一个带有进度条和取消按钮的对话框。 我的问题是我找不到在时间过去之前取消postDelayed任务的方法。

6
如何从处理程序中删除所有回调?
我有一个来自主Activity调用的子Activity中的Handler。该处理程序由某些Runnable 的子类使用,但我无法对其进行管理。现在,在这种情况下,我需要先删除它们,然后再完成“活动”(以某种方式调用,但仍会反复调用)。无论如何,要从处理程序中删除所有回调吗?postDelayonStopfinish()

8
Android:什么时候应该使用Handler()?什么时候应该使用线程?
当我需要异步运行的东西(例如长时间运行的任务或使用网络的逻辑),或出于任何原因,启动新线程并运行它可以正常工作。创建一个处理程序并运行它也可以正常工作。有什么不同?我什么时候应该使用每个?使用a Handler和不使用a的优点/原因是Thread什么? PS。-为了这个问题,让我们忽略AsyncTask。- Handler().postDelayed用例对我来说很清楚,为这个问题,让我们假设我需要立即启动任务。

4
停止handler.postDelayed()
我通过new Handler()。postDelayed(new Runnable().....来调用多个Handler。当我单击返回时如何停止它? public class MyActivity extends AppCompatActivity implements OnClickListener { private Button btn; private Handler handler; private Runnable myRunnable; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); btn = (Button) findViewById(R.id.trainingsstart); btn.setOnClickListener(this); } @Override public void onClick(View v) { Handler handler = new Handler(); Runnable myRunnable = new Runnable() { …

5
处理程序是抽象的,无法实例化
我正在尝试Handler在我的应用中使用A。但是当我像这样实例化它时: Handler handler = new Handler(); 我收到以下错误。 Gradle: error: Handler is abstract; cannot be instantiated 当我检查解决方案时,它要求我实施以下方法: Handler handler = new Handler() { @Override public void close() { } @Override public void flush() { } @Override public void publish(LogRecord record) { } }; 我以前从未使用Handlers过,只是在一段时间延迟后才调用它。为此,我使用了: handler.postDelayed(new Runnable() { @Override public void run() …

2
与其他类似类相比,最好使用HandlerThread
我正在尝试了解using的最佳用例HandlerThread。 根据定义: “用于启动具有循环程序的新线程的便捷类。然后可以使用循环程序创建处理程序类。请注意,仍必须调用start()。” 我可能是错的,但类似的功能,我可以通过使用实现Thread,Looper和Handler。那我HandlerThread什么时候应该使用?一个例子真的很有帮助。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.