タグ付けされた質問 「android-handler」

13
ハンドラーvs AsyncTask vsスレッド[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 10か月前に閉鎖。 私は少しの違いについて混乱してしまったHandlers、AsyncTaskとThreadsのAndroidインチ StackOverflowでかなりの数のブログと質問を読みました。 HandlerUIと通信するためのバックグラウンドスレッドです。たとえば、進行状況バーの更新はを介して行う必要がありますHandler。ハンドラーを使用すると、の利点が得MessagingQueuesられるため、メッセージをスケジュールしたり、複数のUI要素を更新したり、タスクを繰り返し実行したりする場合に役立ちます。 AsyncTaskは似ていますがHandler、実際にはを使用しますが、UIスレッドでは実行されないため、データのフェッチ(Webサービスのフェッチなど)に適しています。後でUIを操作できます。 Threadただし、UIと対話できず、より「基本的な」スレッドを提供し、のすべての抽象化を見逃しますAsyncTask。 ただし、ソケット接続を実行したいのですが。これはハンドラーまたはスレッドで実行する必要がありAsyncTaskますか?UIの操作はまったく必要ありません。使用するパフォーマンスの点で違いはありますか? 一方、ドキュメントは大幅に改善されました。

16
別のスレッドからメインスレッドでコードを実行する
Androidサービスで、バックグラウンドタスクを実行するためのスレッドを作成しました。 スレッドがメインスレッドのメッセージキューに特定のタスクを投稿する必要がある状況があります。 Runnable。 Handlerメインスレッドを取得して投稿する方法はありますかMessage/Runnable私の他のスレッドから、それには? おかげで、

7
このHandlerクラスは静的である必要があります。そうしないとリークが発生する可能性があります:IncomingHandler
サービス付きのAndroid 2.3.3アプリケーションを開発しています。メインアクティビティと通信するために、このサービスの内部にこれを持っています 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
ハンドラーからすべてのコールバックを削除する方法は?
メインアクティビティによって呼び出されたサブアクティビティからのハンドラがあります。このハンドラは一部のRunnableのサブクラスで使用されており、管理できません。さて、イベントでは、アクティビティを完了する前にそれらを削除する必要があります(どういうわけかを呼び出しましたが、それでも何度も繰り返し呼び出します)。ハンドラからすべてのコールバックを削除する方法はありますか?postDelayonStopfinish()

8
Android:いつHandler()を使用し、いつスレッドを使用する必要がありますか?
長期実行タスクやネットワークを使用するロジックなど、非同期で実行する必要がある場合、または何らかの理由で、新しいスレッドを開始して実行すると正常に動作します。ハンドラーを作成して実行することもできます。違いは何ですか?それぞれをいつ使用すればよいですか?a ではなくa を使用する利点/理由は何ですか?HandlerThread PS。-この質問のために、無視しましょうAsyncTask。- Handler().postDelayed使用例は私には明らかです。この質問のために、タスクをすぐに開始する必要があると仮定しましょう。

4
handler.postDelayed()を停止します
new Handler()。postDelayed(new Runnable().....で複数のハンドラーを呼び出します。戻るをクリックしたときに、どのようにしてそれを停止できますか? 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アプリでを使用しようとしています。しかし、私がそれを次のようにインスタンス化すると: 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() …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.