私たちのアプリの1つには、現在アセットとしてパッケージ化している数千の小さなデータファイルがあります。それらを生のリソースとしてパッケージ化できれば、コードに役立ちます。アプリが各タイプで持つことができるリソースの数の制限を追跡しようとしましたが、これに関するドキュメントは見つかりませんでした。Androidリソースの数の制限を知っている人はいますか?
3 に答える
多くの実験の後、各リソース タイプに対して最大 16 ビット相当のリソース (65,536 リソース) を持つことができるようです。(将来の使用のために追加のビットが予約されている可能性があり、これにより最大リソース数が減少しますが、これに関する証拠は見つかりませんでした。)誰かが信頼できる回答を提供できればいいのですが、1年後、諦めます。
編集(@BTによる以下のコメントを参照):別のスレッドのhackbodによるこの回答に基づいて、実際には16ビットが利用可能であるように見えるため、任意のタイプの最大65,535のリソースを持つことができます(65,536ではないため、ゼロは利用できません)。また、この制限は、1 つの構成 (ロケール、ピクセル密度など) のリソース数にのみ適用されることに注意してください。異なる構成のリソースのバリエーションは、同じリソース ID を共有し、カウントには寄与しません。したがって、実際には、1 つの構成ではなく、1 つのタイプ (レイアウトや文字列など) の 65,535 を超えるリソースを使用できます。
自動的にクラス R と API で使用されるリソース値を考慮すると、文字列、ドローアブル、およびレイアウト ID ごとに Integer.MAX_INTEGER 付近のどこかを想定します。