Android:你如何获得内部总内存/可用内存?

标签 android memory internal

RAM 内存和内部闪存之间有区别吗? 我可以通过以下方式获取 RAM 内存:

cat /proc/meminfo

但是,我不确定如何获取闪存信息。

我想我知道如何获取可用内存:

ActivityManager activityManager = (ActivityManager).getSystemService(Context.ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
memoryInfo.availMem;

这是否提供可用的内部闪存?

内存总量如何?

以下 unix 命令是否为我提供了此信息?

df

结果:

Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                    97744         0     97744   0% /dev
tmpfs                     4096         0      4096   0% /sqlite_stmt_journals
/dev/block/mtdblock3    174080    154372     19708  89% /system
/dev/block/mtdblock5    169728     57144    112584  34% /data
/dev/block/mtdblock4    133120     89632     43488  67% /cache
/dev/block/mtdblock4    133120     89632     43488  67% /data/dalvik-cache
/dev/block//vold/179:1
                       7970928   2358576   5612352  30% /sdcard

如果是这样,我是否必须添加所有 tmpfs &/dev/block/mtdblock# 以获得总内存?

最佳答案

df 告诉您文件系统上的空间...即将闪存视为“磁盘”

至于加起来……就看你想知道什么了。添加不同的分区有点可疑,因为它们不能完全互换。还有其他 mtd 分区没有文件系统或在正常操作期间未挂载 - 它们包含诸如引导加载程序、 radio 固件、linux 内核和压缩根文件系统之类的东西,以及内核和压缩文件系统恢复系统。

您最好查看内核启动消息,看看它在 ram 和 mtd 设备中找到了什么。

但是,还有内核无法访问的内部存储器,而是被 radio 协处理器使用。因此,如果您真的想要全部安装,最好阅读制造商的规范说明。

否则,您应该坚持使用可能对应用程序可用的内存...

关于Android:你如何获得内部总内存/可用内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350580/

相关文章:

android - 希望 MediaPlayer 在屏幕锁定时继续运行

java - 在 Asynctask 的 onPostExecute() 方法中更改 fragment

c++ - C++ 中的不可变类和内存

sql - sql引擎执行查询要遵循的步骤是什么?

android - 在 Kotlin 中编写以下代码的更好方法?

android - init.rc 中的 mkdir

assembly - 内存布局中的 "pitch"(MPITCH、VPITCH)是什么?

caching - Redis 缓存 vs 直接使用内存

properties - 使用内部 setter 进行属性注入(inject)

android - 写入应用程序内部存储 - 频率限制?