2

1 つの ID UI を実行する 2 つのスレッドがあり、もう 1 つはワーカー スレッドです。UI スレッドで Web ビューを更新する必要があると思われる場合、ワーカー スレッドはサーバーからの一部のデータのポートを継続的に読み取ります。ワーカー スレッドは再び読み取りを続行し、終了することはありません。Plzはこれを達成する方法を提案します??

呼び出されたスレッドのメソッドが呼び出される「C++のシグナル」として発生する可能性があります.. !! 私が試した:1)UI(runOnUIThread)でワーカースレッドを実行すると、UI Webviewのパフォーマンスが低下する可能性があり、スレッドをスリープ状態にすると、スリープ時にポートに表示されたデータが失われる可能性があります..(よくわかりません!)2)Handlerを使用して、スレッドを再度呼び出す前に時間を指定する必要があります n 再びスリープ()のようにポートに表示された場合、データが失われる可能性があります。3)同じクラスに別のスレッドがあると、次のようになります。他のスレッドはメインUIスレッドのビューを更新できません。

助けてください.. :(

4

2 に答える 2

1

多分私は何かが欠けているかもしれませんが、Handler オブジェクトを作成してから post() メソッドを使用する必要があるようです: http://developer.android.com/reference/android/os/Handler.html#post%28java .lang.Runnable%29

于 2010-08-08T03:52:03.830 に答える
0

同様の問題がありました。UI スレッドと、バックエンド サーバーを実行するいくつかのスレッドがあります。オブザーバー パターンを使用して、サービスに UI を更新させます。そのために、新しいスレッドに update メソッドを配置し、runOnUiThread()UI を更新するように呼び出します。手っ取り早いものに使えそうです。簡単なバンドエイドよりも優れたものが必要な場合は、Google のこの Android スレッド化ガイドを読んで、それをデザインに組み込むことをお勧めします。

于 2010-09-08T11:24:23.970 に答える