我想更新並向用戶顯示我的設備可用空間,我嘗試了很多方法,但都沒有成功,我使用的每種方法似乎都只在應用程序啓動時顯示一次內存,但比這些方法每次調用打印相同的值,沒有更新 我目前使用這種方法如何以編程方式監視android設備可用空間
public long getfreeMemory() {
StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());
return (long) (statFs.getAvailableBlocks() * statFs.getBlockSize());
}
public void checkAppMemory() {
Log.e("MEMORY", getfreeMemory() + "");
memoryHandler_.postDelayed(new Runnable() {
public void run() {
checkAppMemory();
}
}, (int) (CHECK_MEMORY_FREQ_SECONDS * 1000));
}
我只是想檢測,如果沒有可用的免費存儲空間,我用廣播接收器,但一臺設備(三星s4 os 4.4.2)不發射內存低電量事件
如果我要監控SD卡存儲? –
@JemoMgebrishvili:如果用「sdcard storage」表示[external storage](https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html),則使用'getExternalFilesDir() '。如果通過「sdcard storage」,您的意思是[可移動存儲](https://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html),請查看getExternalFilesDirs()是否返回2 +項目,如果它使用第二個和後續的項目。 – CommonsWare
是的,可移動存儲我試圖使用getExternalFilesDir(null).getAbsolutePath(),而不是更新 –