2

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# 才能获得总内存?

4

2 回答 2

1

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

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

您可能会更好地查看内核启动消息并查看它以 ram 和 mtd 设备的方式找到的内容。

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

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

于 2010-12-04T01:28:35.460 回答
0
cat /proc/meminfo

会给你一些关于运行内存的信息,但是 Dalvik 倾向于尽可能多地占用内存......

要深入挖掘 Android 内存,您应该使用 DDMS。

于 2010-12-04T01:34:51.540 回答