8

私は現在、すぐにリリースされる予定だったクールな Android ゲームに取り組んでいます。一部のベータ テスターから、「開いているファイルが多すぎます」というエラー メッセージが表示されてゲームがクラッシュするという苦情が寄せられました。AVD エミュレーターでこの問題をシミュレートしようとしましたが、エラーを再現できませんでした。

その後、Galaxy S3 と Asus Nexus 7 のテスターだけが不満を言っていることに気付きました。Android のバグ トラッカーでこのバグの問題を見つけましたが、私に起こっていることと非常によく似ています。

これは、すべての内部 SD カード デバイスに影響する深刻なアーキテクチャの問題のようです。これらのデバイスは、1024 個のファイル記述子に制限されています! 誰でもこの問題を確認できますか?

4

1 に答える 1

5

実際には、このアプリが大量のファイルを開いているかどうかは関係ありません。問題なのは、デバイス全体で開くことができるファイル数が 1024 に制限されていることです。たとえば、100 個のアプリを実行し、それぞれが 10 個のファイル (プロパティ、データベースなど) を同時に開いている Galaxy S3 デバイスを考えてみましょう。これは非常に限界に近づいています。

ほとんどのデバイスで開いているファイルの最大制限 (/proc/sys/fs/file-max) を確認すると、50K をはるかに超えています。

于 2012-11-07T13:13:44.533 に答える