7

できれば簡単な質問があります。非 UI スレッドからリソースを安全にロードできるかどうかを知りたいです。「res」フォルダ内のことを言っています。この質問に明確に答えているドキュメントが見つかりません。SDK には、UI スレッドで許可されていないものに関連する多くの言及があります。この方法でリソースをロードすることに言及したものは見たことがありません。

たとえば、バックグラウンド スレッドからこのコードを呼び出すことはできますか? Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_resource);

context.getResources() 部分を削除して、次のことのみを行うと役立ちますか? Bitmap icon = BitmapFactory.decodeResource(res, R.drawable.icon_resource);

4

1 に答える 1

7

はい、できます!

ただし、APIがそのような呼び出しをどのように処理するかに大きく依存します。例えば。APIがコンテキストを予期している場合は、UIコンテキストを保存し、それをバックグラウンドスレッドに渡すことで、適切なAPIを提供する必要があります。

ただし、UIコンポーネントの設定に関しては、UIスレッドに戻る必要があります。

于 2013-01-23T04:37:42.077 に答える