2

アクティビティ (UI スレッド) から呼び出されるシングルトン マネージャー クラスがあり、それは別のスレッド (ネットワーク) で動作し、最後に呼び出し元のアクティビティでコールバック メソッドを呼び出す必要があります。

UI スレッドでコールバック メソッドを呼び出す最良の方法は何かと考えていました。私はオプションに精通しています(http://android-developers.blogspot.co.il/2009/05/painless-threading.htmlを参照)

そこで、次の 2 つのオプションを考えていました。

1 つ目: 呼び出し元のアクティビティは、getActivity() メソッドを使用してインターフェイスを実装します。そのメソッドは、Activity.runOnUiThread(Runnable) を呼び出すために使用されます。

2 つ目: マネージャー シングルトンを初期化する MainApplication は、UI スレッドに属する Handler インスタンスを渡します。

より良いオプションは何ですか? また、他のおすすめも教えていただけると嬉しいです

4

1 に答える 1

0

選択するオプションに関係なく、アクティビティには特定のライフサイクルがあり、シングルトン クラスとは異なり、終了またはバックグラウンドに移動できることに留意する必要があります。これを踏まえて、ここでシングルトンが本当に最良の選択であるかどうかをもう一度検討する必要があります。アクティビティとやり取りする必要がある場合は、アクティビティがそのライフサイクルを管理する必要があるかもしれません。特定の活動に依存しない場合は、それをサービスにして、進行状況などを通知するためにブロードキャストを送信することをお勧めします。

正確に何をしようとしていますか?

于 2012-08-03T08:43:12.373 に答える