2011-10-12 6 views

答えて

8

Documentation外 からAndroidのUIツールキットにはアクセスしないでくださいUIスレッドをブロックしないでくださいAndroidのUIツールキットがあると述べていますthread-safeではありません。したがって、単一スレッドモデルは、同時に異なるスレッドによってUIが変更されないことを保証する。

3

スレッドに関するandroid developperガイド上に述べたように:あなたのアプリがユーザーとの対話に応じて、集中して作業を行う場合、あなたが適切にあなたのアプリケーションを実装していない限り、このシングルスレッドモデルは、パフォーマンスの低下をもたらすことができる

。具体的には、UIスレッドですべてが発生している場合、ネットワークアクセスやデータベースクエリなどの長い操作を実行するとUI全体がブロックされます。スレッドがブロックされると、描画イベントを含むイベントはディスパッチできません。ユーザーの観点から見ると、アプリケーションはハングアップしているようです。さらに悪いことに、UIスレッドが数秒(現在は約5秒)以上ブロックされていると、ユーザーに悪意のある "応答しないアプリケーション"(ANR)ダイアログが表示されます。ユーザーはアプリケーションを終了し、不満足な場合はアンインストールすることにします。

さらに、Andoid UIツールキットはスレッドセーフではありません。そのため、 ワーカースレッドからUIを操作しないでください。すべての操作をUIスレッドからユーザーインターフェイスに行う必要があります。したがって、 は、単にAndroidのシングルスレッドモデルには2つのルールがあります。

UIスレッド

関連する問題