Android内存类型(RAM v内存)

时间:2011-01-08 16:11:11

标签: android memory storage ram

separate thread上,我通过询问将文件复制到“内部存储器”的最佳方式来证明我对内存类型的无知,并且被告知这不是一个好主意,并且最好阅读将文件放入“RAM”。我现在试图了解这两种类型的内存是如何相关的,以及如何使用它们。

我理解“内部存储器被认为是用于存储APK,ROM图像等的闪存。”

我的HTC Hero的规格说有“ROM:512MB,RAM:288MB”,没有说明RAM是如何细分的。

在手机上,“设置” - >“SD&手机存储”页面只是指“SD卡”和“内部手机存储”,而后者只显示一个“可用空间”金额。

Data Storage的Android参考文献提及“内部存储”。这是“你可以保存文件”的地方。该页面还提到了我认为可以存储在“内部存储”中的SQLite数据库文件。但是,该页面似乎没有提供任何有关内部存储与另一种(可能是更动态的)类型之间的RAM细分的解释。

是否存在某种动态划分总RAM(Hero上的288MB)为两个可以不同方式使用的子部分?如果是这样,Android文档中的位置是这样解释的吗?

1 个答案:

答案 0 :(得分:40)

  

我理解“内部存储器被认为是用于存储APK,ROM图像等的闪存。”

     

我的HTC Hero的规格说有“ROM:512MB,RAM:288MB”,没有说明RAM是如何细分的。

RAM不会在任何类型的永久基础上“细分”。 RAM根据需要运行进程使用。 SDK应用程序要注意的最重要的事情是,进程可以消耗多少RAM的上限 - 在你的Hero上,它应该是16MB。

  

在手机上,“设置” - >“SD&手机存储”页面只是指“SD卡”和“内部手机存储”,而后者只显示一个“可用空间”金额。

“内部手机存储”是指为APK文件,数据库,首选项和其他本地文件预留的板载闪存空间部分。

  

该页面还提到了我认为可以存储在“内部存储”中的SQLite数据库文件。

正确。

  

但是,该页面似乎没有提供任何有关内部存储与另一种(可能是更动态的)类型之间的RAM细分的解释。

RAM与内部存储无关。

  

是否有某种动态划分总RAM(Hero上的288MB)为两个可以不同方式使用的子部分?

没有


让我们退一步。

RAM是RAM是RAM。手机上的RAM与台式机,笔记本电脑,上网本等RAM并没有太大差别。过去几十年来,这种结构在使用时保持相对稳定,特别是一旦我们从大型机中逃出。运行程序(操作系统和最终用户应用程序)消耗RAM,但仅在它们运行时使用。并且RAM会在重启时被擦除,在手机和桌面上都会被擦除。

现在,您的普通台式机,笔记本电脑或上网本也有一个硬盘驱动器,可以提供比RAM提供更多的永久存储空间。在Android中没有绝对的术语 - 我倾向于使用“板载闪存”,其他人称之为“内部存储”,但正如您将看到的,后一个术语充满了混乱。就像硬盘驱动器一样,板载闪存存储器用于操作系统(也称为Android中的固件),最终用户程序(也称为Android中的APK文件)和最终用户数据(也称为数据库,共享首选项,存储在getFilesDir()所在位置的其他文件。

板载闪存存储分为几个分区。如果您是Windows用户,分区基本上会说“您的硬盘分为C:,E:和F:驱动器”。在Android中,一个分区专用于固件,另一个分区(“数据分区”)专用于最终用户程序和数据。 (注意:前面的描述并不完全准确,但差异远远超出了本答案的范围。)

所以,记住这一切:

  • 您的512MB ROM是板载闪存,回归旧的“闪存ROM”一词
  • 您的“内部手机存储”设置为最终用户应用和数据的数据分区中的可用空间(我之所以不使用此术语将板载闪存存储器称为整)
  • 您的“SD卡”在Android中通常被称为外部存储,在许多设备上都是某种形式的SD卡,尽管它实际上可能只是指定为服务的板载闪存存储的另一个分区。外部存储的作用