私は現在、いくつかの画像ファイルを分析して交差させるクールな Android アプリに取り組んでいます。残念ながら、それに関する詳細情報を公開することはできません。
とにかく、いくつかのデバイスでテストしましたが、いくつかのランダムな状況で、開いているファイルが多すぎる状態 (Errno 24) に達しました。これは、SD カードが内蔵されているデバイス (Samsung Galaxy S3 など) で発生しました。デバイスをルート化した後、sdcard が別のファイルシステム (FUSE と呼ばれる疑似ファイルシステム) としてマウントされているために発生する問題を特定できました。アプリによって開かれたファイルは、システムプロセス /system/bin によって実際に開かれます。 /SDカード/。
これにより、デバイス上のすべてのプロセスが 1024 個のファイル記述子(SD カードにあるファイル) のみに制限されます。1024 個のファイル記述子の制限は、Android のプロセスごとの最大オープン ファイルです。
たとえば、10 個のファイル (データベース ファイル、プロパティなど) を開くたびに 100 個のアプリがインストールされているデバイスを考えてみると、ほぼ限界に達しています。1024 ファイルの制限を超えると、デバイス全体が役に立たなくなります (アプリが動作しなくなるなど)。
★★ 私と同じようにこれが厄介だと思う場合は、この未解決の問題に投票してください★★ http://code.google.com/p/android/issues/detail?id=39002