質問: 現在、AutoCompleteTextViewで入力時に候補を出すため、ArrayAdapterクラスを継承したクラスを作成しました。 こちらでの回答を参考にし、実装したころ思い通りの動きになったのですが、実際のArrayAdapterクラスで定義されているArrayFilterクラスのperformFilteringメソッドではsynchronizedブロックを使ってリストのインスタンスを生成しているのですが、これはどのような意味があるのでしょうか? またArrayAdapterクラスを継承して作る場合に、この処理を書かないとなにかまずいことが起こるのでしょうか?
回答: リファレンス)を見るとこのメソッドはワーカースレッドから呼び出す目的で定義されているものとのことです。結果を利用するのはUIスレッドからのpublishResultsメソッドのようなので、双方のスレッドでの競合を避ける意味でsynchronizedになっているのではないでしょうか。 (リファレンスを斜め読みしただけのコメントです。実際の詳細がわかってないので間違いなどありましたらご容赦を。)