一个一般性问题,以确保我理解Android手机中的内存。 你有使用内存(FLASH / ROM)的操作系统,它通常被划分为.5,1,2,4GB 取决于手机。除非有根,否则开发人员无权访问此项。
操作系统分区是从8GB的板载FLASH上雕刻出来的。 从8GB开始,为app / apks留出一个分区......可能是一到两GB。 其余部分留作FLASH中的DATA存储区域,供用户存储UserPrefs存储的任何内容和位置。
问题一。当应用程序运行时,各种对象/项目被创建和访问,并且可能被写入数千/数百万次。 FLASH太慢了,所以必须有一些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??
答案 0 :(得分:0)
16MB的数字可能只是分配给应用程序的堆空间。不是设备的RAM。只需快速搜索SO,我就找到了Android Heap Size on Different Phones和How To Check Availability of External Storage Space