眾所周知,Android的手機上的信息大部分都是可以通過代碼獲取的,比如說愛奇藝的離線儲存功能上有一個最大儲存大小/剩余儲存大小的功能。
獲取SD卡上的儲存信息:
/** * 獲得SD卡總大小 * * @return */ private String getSDTotalSize() { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long totalBlocks = stat.getBlockCount(); return Formatter.formatFileSize(this, blockSize * totalBlocks); } /** * 獲得sd卡剩余容量,即可用大小 * * @return */ private String getSDAvailableSize() { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long availableBlocks = stat.getAvailableBlocks(); return Formatter.formatFileSize(this, blockSize * availableBlocks); }手機系統的內存也可以通過ActivityManager.getMemoryInfo()方法獲取:如下:
獲取系統的內存大小以及可用內存大小:
/** * 獲取系統內存大小 * @return */ private String getSysteTotalMemorySize(){ //獲得ActivityManager服務的對象 ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); //獲得MemoryInfo對象 ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo() ; //獲得系統可用內存,保存在MemoryInfo對象上 mActivityManager.getMemoryInfo(memoryInfo) ; long memSize = memoryInfo.totalMem ; //字符類型轉換 String availMemStr = formateFileSize(memSize); return availMemStr ; } /** * 獲取系統可用的內存大小 * @return */ private String getSystemAvaialbeMemorySize(){ //獲得ActivityManager服務的對象 ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); //獲得MemoryInfo對象 ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo() ; //獲得系統可用內存,保存在MemoryInfo對象上 mActivityManager.getMemoryInfo(memoryInfo) ; long memSize = memoryInfo.availMem ; //字符類型轉換 String availMemStr = formateFileSize(memSize); return availMemStr ; }以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答