2017-12-03 22 views
-3

最初の質問は、アプリがデバイス上にあるとき、それが占有できる最大ストレージは何か。私はたくさんのファイルを書き込むアプリケーションを持っていて、ある時点でデバイスにファイルを保存することはできませんが、デバイスを見ると3MB以上の空き容量があるので、XamarinやAndroidはあなたは、データを保存するためのスペースがわずかxあるだけですか? xとは何ですか?それは設定可能ですか? 2番目の質問は、どのように私はプログラムで、そのスペースのどれくらいが利用可能であるかをユーザに知らせることができます。ありがとう!Xamarin Androidアプリのストレージ

答えて

1

グーグルによって定義されたデータ・パーティションの最小サイズあります

デバイスの実装は、ユーザデータのために利用可能な不揮発性記憶装置の512MB以上を持たなければなりません。つまり、/ dataパーティションは512MB以上でなければなりません。 APIの詳細については

SOこれを参照してください。

using (var dataPath = Android.OS.Environment.DataDirectory) 
using (var stat = new StatFs(dataPath.AbsolutePath)) 
{ 
    Log.Debug(TAG, $" Bytes: {stat.TotalBytes} : {stat.AvailableBytes}"); 
    Log.Debug(TAG, $"Blocks: {stat.BlockCountLong} : {stat.AvailableBlocksLong}"); 
} 

https://stackoverflow.com/a/9198511/4984832

OEMは、どのようなデータパーティションの最大と、実行時に現在利用可能であるかを確認するStatFsを使用することができますが適用されます出力例:

[SushiDrive] Bytes: 2080194560 : 1900834816 
[SushiDrive] Blocks: 507860 : 464071 

Re:https://developer.android.com/reference/android/os/StatFs.html

関連する問題