0

なぜどちらかを選択するのですか?それらはどのように電話に保存されますか?

ありがとう

4

1 に答える 1

3

リソースには、ここで説明されているように、さまざまな言語、OS バージョン、画面の向きなどの代替手段を提供するためのサポートが組み込まれています。アセットではそのどれも利用できません。また、API の多くの部分でリソース識別子の使用がサポートされています。最後に、リソースの名前は、コンパイル時にチェックされる定数フィールド名に変換されるため、コードとリソース自体の間で不一致が生じる可能性が少なくなります。それは資産には当てはまりません。

では、なぜアセット フォルダーがあるのでしょうか。実行時に使用したいアセットを計算したい場合、それは非常に簡単です。リソースでは、使用される可能性のあるすべてのリソース ID のリストを宣言し、リストへのインデックスを計算する必要があります。(これは厄介で、開発サイクルでリソースのセットが変更された場合にエラーが発生する可能性があります。) を使用して名前でリソース ID を取得できますgetIdentifierが、これではコンパイル時のチェックの利点が失われます。アセットは、リソースではサポートされていないフォルダー階層に編成することもできます。これは、データを管理する別の方法です。リソースはほとんどのケースをカバーしますが、アセットは時折使用されます。

もう 1 つの違い: ライブラリ プロジェクトで定義されたリソースは、ライブラリに依存するアプリケーション プロジェクトに自動的にインポートされます。資産の場合、それは起こりません。アセット ファイルは、アプリケーション プロジェクトの assets ディレクトリに存在する必要があります。

于 2013-01-06T20:44:04.180 に答える