在android中是堆和内部/外部内存是一样的吗?

时间:2014-01-07 13:14:16

标签: android memory

当我们运行我们的应用程序时,它是在堆中还是在内存中占用空间,还是在android中都是相同的?

还有我们在应用程序菜单下的设备设置菜单中看到的缓存/数据大小是多少?是在堆或内部/外部存储器上分配的吗?

1 个答案:

答案 0 :(得分:0)

内存是设备的RAM。几乎每个平台上的每个程序都使用它来存储运行程序所需的数据和指令代码(Von Neumann architecture)。 CPU向RAM提供指令和数据。但只有在程序运行时才会出现。

Java程序(以及更多程序)将部分内存用作heap,部分用作stack来存储中间数据。

一旦数据需要持续存在(程序重启和重新启动),您将最终进入内部和外部存储。 Android设备与硬连线SD卡类似internal / external storage。 "外部"通常没有可移动的SD卡,但可以在/sdcard(或Environment.getExternalStorageDirectory()告诉你的任何内容)的文件系统中找到。

  

当我们运行我们的应用程序时,它是在堆还是内存中占用空间?

在运行时你使用Memory(和那里的堆)。您的应用程序也会消耗内部存储空间,仅用于安装。如果您启用安装到SD,您将在外部区域使用存储。

  

或在android中两者都相同?

没有。除非内部存储器意味着RAM,否则,它大致相同。

  

还有我们在应用程序菜单下的设备设置菜单中看到的缓存/数据大小是什么?

这是您的应用消耗的存储空间大小。缓存是您的应用程序文件夹的一个特殊部分,您可以在其中放置您不需要的文件,但可以帮助您加快速度。例如。缓存下载的图像,以便下次启动应用时,您不必再次下载它们。这里有一些细节:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

  

是在堆或内部/外部存储器上分配的吗?

那将是内部存储。