android - handler的sendMessage()和handleMessage()能不能都在主线程,如果可以,那这样做有必要么?
高洛峰
高洛峰 2017-04-17 17:16:30
0
11
1700
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(11)
刘奇

ハンドラーは主に非同期メッセージ処理に使用されます
すべてメインスレッド上にある場合は、個人的には必要ないと思います

いいねを押す +0
洪涛

これは確かに可能ですが、必要かどうかは個人の習慣によって異なります。

いいねを押す +0
阿神

これはすべてメインスレッド内で使用でき、リンクを実行するときにも使用できます。

いいねを押す +0
刘奇
  1. はい。

  2. ビジネスに基づいて必要かどうかのみ判断できます。それは必要ないと言わざるを得ません、あなたは私を批判するために大きなニュース記事を書かなければなりません

いいねを押す +0
伊谢尔伦

答えは「はい」です。教育用の簡単なデモの多くはこのように書かれていますが、通常、プロジェクトでは行われません

いいねを押す +0
Peter_Zhu

ハンドラーはスレッド間通信に使用されます、もちろんメインスレッドとメインスレッド間は問題ありません

しかし、個人的には、Handler を使用するのは手動すぎて面倒で、多くの制限があると感じています。新しいスレッドでタスクを実行してメインスレッドに公開する必要がある場合は、AsyncTask または RxAndroid を試してみてはいかがでしょうか。

それ以外の場合はメインスレッドなので、メソッドを直接呼び出さないのはなぜでしょうか?

いいねを押す +0
刘奇

UI 更新のリズムを制御する必要がある場合は、このロジックを使用できます

いいねを押す +0
伊谢尔伦

これは確かです
本当にあなたの特定のニーズに依存する必要がありますか

いいねを押す +0
洪涛

それは主に要求に応じて可能です。通常はメインスレッドで行われます。

いいねを押す +0
洪涛

Looper が指定されていない場合、デフォルトでメインスレッドが使用されます。処理に時間がかからない場合は、すべてメインスレッド上で処理しても問題ありません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート