View.post()这个方法一般用来做什么?
闭关修行中......
私が最も深く経験した効果は 2 つあります: 1. onCreate() メソッドで view.getHeight() を呼び出すと 0 が返されることは誰もが知っていますが、
で身長を取得します。 2. View.postDelayed() メソッドを使用して、一定期間内にビューを複数回クリックすることによって複数の不要なクリック イベントがトリガーされるのを防ぎます。 リーリー
投稿には Runnable が含まれています。これは、Runnable の作業が UI スレッドで実行され、UI を Runnable で直接更新できることを意味します。ただし、ここでの Runnable は新しいスレッドではないことに注意してください。ブロッキングによる ANR の発生を避けるために、あまりにも複雑で時間のかかる作業を実行しないでください。
View にはデフォルトで Handler があり、mainLooper に属する View.post はこの Handler.post
View
Handler
mainLooper
View.post
Handler.post
Android APP は起動後にメインスレッドである UIThread を自動的に開始します。このスレッドは主にユーザー操作イベントやインターフェース描画イベントの配信に使用されます。したがって、より良いユーザー エクスペリエンスを維持するために、時間のかかる操作は他のスレッドで実行され、実行完了後に結果がメイン スレッドに返されて表示されます。ただし、UI を他のスレッドから直接操作することはできません。これには、スレッド間で情報を転送するメカニズム、つまりハンドラー、メッセージ キュー、ルーパーが必要です。
Android プラットフォームは主に次の方法で他のスレッドからメイン スレッドにアクセスします: Activity.runOnUiThread(Runnable)View.post(Runnable)View.postDelayed(Runnable, long) ハンドラー
View.post の背後で実行されているプロセスについては、次の情報を参照してください: DelayLoad の実装の一種と原理 (パート 2) この分析を読むと、なぜ View が呼び出されるのかが理解できるでしょう。 onCreate では .post のみが View の高さを取得できます
View.post は、Runnable を実行のために UI スレッドのキューに入れるために使用されます
私が最も深く経験した効果は 2 つあります:
リーリー1. onCreate() メソッドで view.getHeight() を呼び出すと 0 が返されることは誰もが知っていますが、
で身長を取得します。
2. View.postDelayed() メソッドを使用して、一定期間内にビューを複数回クリックすることによって複数の不要なクリック イベントがトリガーされるのを防ぎます。 リーリー
投稿には Runnable が含まれています。これは、Runnable の作業が UI スレッドで実行され、UI を Runnable で直接更新できることを意味します。ただし、ここでの Runnable は新しいスレッドではないことに注意してください。ブロッキングによる ANR の発生を避けるために、あまりにも複雑で時間のかかる作業を実行しないでください。
に相当します。View
にはデフォルトでHandler
があり、mainLooper
に属するView.post
はこのHandler.post
Android APP は起動後にメインスレッドである UIThread を自動的に開始します。このスレッドは主にユーザー操作イベントやインターフェース描画イベントの配信に使用されます。したがって、より良いユーザー エクスペリエンスを維持するために、時間のかかる操作は他のスレッドで実行され、実行完了後に結果がメイン スレッドに返されて表示されます。ただし、UI を他のスレッドから直接操作することはできません。これには、スレッド間で情報を転送するメカニズム、つまりハンドラー、メッセージ キュー、ルーパーが必要です。
Android プラットフォームは主に次の方法で他のスレッドからメイン スレッドにアクセスします:
Activity.runOnUiThread(Runnable)
View.post(Runnable)
View.postDelayed(Runnable, long)
ハンドラー
View.post の背後で実行されているプロセスについては、次の情報を参照してください:
DelayLoad の実装の一種と原理 (パート 2)
この分析を読むと、なぜ View が呼び出されるのかが理解できるでしょう。 onCreate では .post のみが View の高さを取得できます
View.post は、Runnable を実行のために UI スレッドのキューに入れるために使用されます