android - 以 GB 为单位获取设备 RAM 和内部存储
问题描述
我需要以 GB(千兆字节)为单位获取应用程序内存和内部存储。
我试过这个
private void getAppRam() {
String DeviceModel = android.os.Build.MODEL;
String DeviceName = android.os.Build.MANUFACTURER;
String sdk = Build.VERSION.RELEASE;
System.out.println("DeviceModel...." + DeviceModel);
System.out.println("DeviceName ...." + DeviceName);
System.out.println("sdk ...." + sdk);
ActivityManager actManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
actManager.getMemoryInfo(memInfo);
long totalMemory = memInfo.totalMem / (1024 * 1024);
System.out.println("ram...." + totalMemory);
}
但没有找到准确的结果,有人可以建议任何内部存储解决方案。
解决方案
来,试试这个
要获得总 RAM:
private long totalRamMemorySize() {
ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
ActivityManager activityManager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.totalMem / 1048576L;
return availableMegs;
}
获得总内部记忆:
public static long getTotalInternalMemorySize() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return totalBlocks * blockSize;
}
有关更多数据,请尝试此链接获取设备 RAM 和内部存储 - 引发微笑
推荐阅读
- angular - 始终检查组件中调用了哪些服务 - Angular 6
- firebase - Firebase 每天都会发送推送通知,但没有活动的广告系列
- javascript - 从 Jquery 访问 cookie 总是返回 undefined
- python - random.randint 在具有相同种子的 Python 2.x 和 Python 3.x 中显示不同的输出
- javascript - 无法删除验证时的错误消息
- excel - Excel:将两种不同的自定义格式合并到一个单元格中
- powershell - 使用 PowerShell 使用列式数据而不是行式数据生成 CSV
- php - SQLSTATE [42S02]:未找到基表或视图:1146 表 'moltens.sliders' 不存在
- leaflet - 传单:延迟加载地图框图块
- python - 在 Spyder IDE 中执行特定代码的问题