問題タブ [ui-thread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
22915 参照

android - Handler.post(Runnable r)とActivity.runOnUiThread(Runnable r)の違い

違いはありますか

0 投票する
2 に答える
719 参照

c# - マルチスレッド: C dll を実行する C# プログラム - 応答しない C#

2 つのタスクを実行する C dll を作成しました。

1) 特定のメッセージを C# プログラムに中継する

2) 別のスレッドで集中的なタスクを実行する

すべて機能しますが、C が別のスレッドで集中的なタスクを実行しているにもかかわらず、C# UI が応答しません。

また、負荷の高いタスクを開始する C 関数を C# に公開し、C# がその関数を別のスレッドで実行できるようにしました。

何があっても、集中的なタスクが実行されると、C# が動かなくなり、C# プログラムが応答しなくなります。

プログラム全体を C で作成し、問題なく動作することを忘れていましたが、将来の .NET プロジェクトでこれを使用するために C# ライブラリを作成したいと考えています。

0 投票する
3 に答える
3486 参照

java - UIスレッドではないスレッドがビューにアクセスできないのはなぜですか?

UIスレッドでない限り、現在のビューにアクセスできるスレッドはありません。なぜだろう?どのスレッドがビューを変更しているかが重要なのはなぜですか?それはセキュリティ上の理由ですか?これは私が使用する回避策です:

レイアウトを変更するたびにそれを行うのはちょっと面倒です。別の回避策はありますか?私は非同期タスクについて知っていますが、それを使用するための良い方法を見つけられませんでした、それは私がしていることよりも優れていますか?関連するすべての回答が適用されます!

0 投票する
2 に答える
2235 参照

java - Android の UI スレッドだけが UI を更新できるのはなぜですか?

Android の UI スレッドだけが UI を更新できる理由を教えてください。他のスレッドが UI を更新できないのはなぜですか?

0 投票する
2 に答える
5379 参照

android - UI スレッドで ProgressDialog を表示するにはどうすればよいですか

uploadPhoto を指定して、このコードの UI スレッドで ProgressDialog を取得する方法を理解するのに本当に苦労しており、ガイダンスをいただければ幸いです。

0 投票する
2 に答える
1324 参照

android - Android:スレッドからカスタムダイアログを表示する方法

これとスタックし、TabLayoutを使用してアプリケーションを作成しようとしています。3つのタブがあります(3つの異なるアクティビティ)。私は自分のGPS位置を読み取るサービスも受けました-それはうまくいきます。Webサーバーのユーザー位置に投稿するスレッドを取得しました。

今、私はユーザーへのメッセージがあるかどうかをウェブサーバーに尋ねるスレッドを作成しようとしています。ある場合-スレッドはカスタムダイアログを表示しようとします(2つのテキストビューとギャラリー-ボタンをクリックしてアクティビティからアクションを開始すると機能します)、問題が発生しますメインスレッドとは異なるUIフォームスレッドを更新できないことはわかっていますが、これを回避する方法がわかりません。AsyncTaskを使おうとしました-失敗しました-AsyncTaskを内部プライベートクラスとして特定のアクティビティに割り当てたくありません。

ユーザーが現在使用しているタブに関係なく、カスタムダイアログを表示できたらいいのにと思います。

スレッドは正常に機能しますが、そのダイアログを表示する方法。

runOnUIThreadについて読みましたが、使用方法がわかりません。

任意のアイデア、任意の同様の例??

0 投票する
2 に答える
2026 参照

iphone - バックグラウンドタスクが完了したときにメインUIスレッドにどのように示すのですか? (SelectorInBackground を実行)

バックグラウンド タスクが完了したときに、iPhone アプリの IOS プログラムでメイン UI スレッドへの通知を取得するにはどうすればよいですか?

バックグラウンド

  • iPhone アプリケーションのスプラッシュ画面に UIActivityIndi​​cator を追加する方法の概念に従って、読み込みインジケーターをセットアップしようとしています。
  • AppDeleteで「performSelectorInBackground」を使用してモデルデータをロードしようとしていました
  • したがって、必要なのは RootViewController で、バックグラウンドでデータのロードが完了したことを通知して、(a) テーブルビューをデータで更新し、(b) アクティビティ インジケーターを削除できるようにすることです。
  • 私はここで物事を行う方法を次のように仮定しています:
    • App Delegate didFinishLaunchingWithOptions でモデル データの読み込みをバックグラウンドに渡す
    • AppDelegate は RootViewController をロードし、すぐにアクティビティ インジケーターをセットアップします
    • データがバックグラウンドでロードされると、これが完了したことを RootViewController (? この質問の理由) に示す必要があります。
    • 2番目の質問は、おそらくバックグラウンドタスクが終了したことを示すときでもあります.RootviewControllerは、アクティビティインジケーターを無効にする前に、UIが(アクティビティインジケーターなどで)セットアップされたことをどのように確認できますか
0 投票する
6 に答える
1980 参照

c# - BackgroundWorker が間違ったスレッドに戻る

私のアプリケーションでは、次のコードを使用して新しい UI スレッドを作成します。

これにより、次のような問題が発生します。

MyWindow クラスのコンストラクターでは、BackgroundWorker が実行されます。RunWorkerCompleted では、BackgroundWorker が計算しているデータで Control を更新する必要があります。

これを示す小さなサンプルを作成しました。

(別のスレッドが所有しているためbw_RunWorkerCompleted()InvalidOperationException呼び出し元のスレッドはこのオブジェクトにアクセスできません。) BackgroundWorker が開始元の正しい UI スレッドに戻っていないようです。

この問題を解決するために何ができるか、誰かが私を助けることができますか? 私が使用しているフレームワーク内にあるため、BackgroundWorker を実行しているコードを変更することはできません。しかし、RunWorkerCompleted-Event で別のことができます。しかし、この問題を解決する方法がわかりません。

0 投票する
4 に答える
161 参照

.net - ユーザーコントロールを個別にレンダリングする方法

Itemscontrolなどを使用してデータコンテキストを描画するUserControlがあります。同じusercontrolの3つのオブジェクトがありますが、プログラムの起動時に初期化される異なるデータコンテキストを使用しています。問題は、データコンテキストが非常に大きいため、各オブジェクトに約2000のUI要素を描画していることです。これには非常に時間がかかります。WPFが単一のUIThreadで実行されているので、私のコンピューターはこれを描画するために合計CPUパワーの1/8を使用しています。どうすればこれを速くできますか?

コード(DynamicShelViewModelはユーザーコントロールです)

これは、完了するのに約2分かかります。

これはDynamicShelfViewModelのXAMLコードです

0 投票する
3 に答える
1175 参照

android - 外部 UI スレッドから gridview を更新する

私は本当に単純なことをしようとしていますが、どういうわけか方向性がわかりません。これが私が達成しようとしていることです。

私の GridView アクティビティでは、SD カードの場所から最大 10 枚の写真を読み込んでいます。次に、メニューオプション「もっと読み込む」を使用して、別のSDカードの場所から最大50枚の写真を読み込み、GridViewを更新してすべての写真を表示したい(新しいアイテムでGridViewアクティビティを再度呼び出したくない)

外部スレッドまたはメニュー トリガー オプションから GridView (メイン UI スレッドで定義されている) を更新することは、私がやろうとしていることです。任意の提案をいただければ幸いです。