5

Android ファイル転送または Astro ファイル マネージャーで SD カードのルート ディレクトリを見ると、アプリがあちこちにファイルを保存しているため、混乱しています。

開発者として、アプリを高速化するために画像/ファイルなどをキャッシュすることでベストプラクティスに従いEnvironment.getExternalStorageDirectory()、外部ストレージのルートを取得するために使用します (/sdcard をハードコーディングするのではありません)。しかし、次に何をすべきでしょうか?外部ストレージであるオープンフィールドにキャッシュされたファイルをダンプするための規則に従うのが理想的な世界ですか?

私自身のデバイス/経験から見たオプションのいくつかを次に示します。

  • /.cache/app_name/
  • /.app_name/
  • /cache/<app_name>/
  • /data/<app_name>/
  • /com.package.name/
  • /app_name/

私は現在、最初のオプションをデフォルトでデバイス ファイル マネージャーから非表示にすることを好みます。

Google からの推奨事項や、いくつかの人気のある/有名なアプリが続く慣習を知っている人はいますか? またはこれが悪い考えである理由は何ですか?

4

2 に答える 2

9

開発者ドキュメントによると

キャッシュファイルの保存

API レベル 8 以上を使用している場合は、getExternalCacheDir() を使用して、キャッシュ ファイルを保存する外部ストレージ ディレクトリを表すファイルを開きます。ユーザーがアプリケーションをアンインストールすると、これらのファイルは自動的に削除されます。ただし、アプリケーションの存続期間中は、これらのキャッシュ ファイルを管理し、不要なキャッシュ ファイルを削除して、ファイル スペースを確保する必要があります。

API レベル 7 以下を使用している場合は、getExternalStorageDirectory() を使用して外部ストレージのルートを表すファイルを開き、次のディレクトリにキャッシュ データを書き込みます。

/Android/data/<package_name>/cache/

<package_name> は、「com.example.android.app」などの Java スタイルのパッケージ名です。

詳細はこちら

http://developer.android.com/guide/topics/data/data-storage.html#files外部

それが役に立てば幸い

于 2013-04-25T14:34:48.080 に答える