Android内存模型/地图它看起来像什么,如何使用?

Android内存模型/地图它看起来像什么,如何使用?,android,memory,Android,Memory,这是一个确定我是否理解Android手机内存的一般性问题。 您的操作系统使用的内存(闪存/ROM)通常分区为.5,1,2,4GB 取决于电话。开发人员只有在根目录下才能访问此文件 该操作系统分区是由板载闪存(比如8GB)雕刻而成的。 从8GB中为应用程序/应用程序预留了一个分区。。。可能从1到2 GB。 剩下的部分作为闪存中的数据存储区,供用户存储userpref存储的内容和位置 第一个问题。当应用程序运行时,各种对象/项会被创建、访问并可能被写入数千次/数百万次。闪存速度太慢,所以必须有一些R

这是一个确定我是否理解Android手机内存的一般性问题。 您的操作系统使用的内存(闪存/ROM)通常分区为.5,1,2,4GB 取决于电话。开发人员只有在根目录下才能访问此文件

该操作系统分区是由板载闪存(比如8GB)雕刻而成的。 从8GB中为应用程序/应用程序预留了一个分区。。。可能从1到2 GB。 剩下的部分作为闪存中的数据存储区,供用户存储userpref存储的内容和位置

第一个问题。当应用程序运行时,各种对象/项会被创建、访问并可能被写入数千次/数百万次。闪存速度太慢,所以必须有一些RAM来发挥作用。这就是我看到的谈论的16MB号码吗?缓存在这里吗

问题二。我有一些例程/方法告诉我外部SD可用,我有一些例程似乎显示应用程序存储可用的FLASH/ROM。但我看到另一个数字显示在提及RAM的设置中。我如何找到可用的数量

问题三:我的目标是存储少量500k图像,首先检查SD是否可用,以及是否存在可写存储。如果可以安装SD卡(如果可以),则不在内部存储。如果有RAM区域,我如何访问它,并告诉我是否有足够的空间临时存储

  My current understanding of Android internal memory layout/map/arrangement
  8GB FLASH/ROM installed.
   OS partition uses 1GB
   App/Apks storage uses 2GB
   Data Storage uses remainder 4.5GB, SQlite Db is store here.

   RAM is where??
   Cache is where??

16MB的数字可能只是分配给应用程序的堆空间。而不是设备拥有的RAM。只要快速搜索一下,我就找到了。所以缓存也存储在闪存/Rom中,没有动态ram中的ram(除了GPU)。您提供的答案链接非常有用。他们提供了我可以和应该使用多少。当然,这留下了一个明显的问题:当我运行时,我应该使用什么代码来确定我使用了多少内存?你是说位图在你的应用程序中将使用多少内存?你打算在设备上显示图像还是只是移动图像(比如从云端下载,只显示较小的缩略图)?如果我知道我的内存级别,那就好了。但这个数字并没有告诉我我目前的应用程序使用情况。这是我需要知道的最后一点,这样我才能选择如何减少或控制应用程序的内存使用。所以我想问题是我使用了多少堆?