Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android/iOS应用程序内存限制(澄清)&;土坯空气_Android_Ios_Memory_Air - Fatal编程技术网

Android/iOS应用程序内存限制(澄清)&;土坯空气

Android/iOS应用程序内存限制(澄清)&;土坯空气,android,ios,memory,air,Android,Ios,Memory,Air,我一直在这些论坛上寻找一个关于内存限制的想法,这些内存限制适用于使用FlexSDK创建并运行在Android/iOS上的应用程序。 我在这里查看了以下帖子: 据我所知,应用程序的最大容量限制是32MB,但在Android上运行AdobeAIR应用程序给了我超过32MB的空间。 对于RAM、堆和“ROM”的这些概念,我感到相当困惑。这些不都一样吗? 基本上,我想知道的是一个进程可以访问多少“RAM” 根据我在Android上的测试,我假设它是以下各项的总和: 32 MB的堆空间 操作系

我一直在这些论坛上寻找一个关于内存限制的想法,这些内存限制适用于使用FlexSDK创建并运行在Android/iOS上的应用程序。 我在这里查看了以下帖子:

据我所知,应用程序的最大容量限制是32MB,但在Android上运行AdobeAIR应用程序给了我超过32MB的空间。 对于RAM、堆和“ROM”的这些概念,我感到相当困惑。这些不都一样吗? 基本上,我想知道的是一个进程可以访问多少“RAM”

根据我在Android上的测试,我假设它是以下各项的总和:

  • 32 MB的堆空间
  • 操作系统通过杀死低优先级应用程序回收的共享内存(?)
  • 可用内存量
我还对iOS(使用FlexSDK打包的应用程序)进行了一些测试,似乎在iPad(256MB的RAM)上,应用程序在获得大约150MB的RAM后崩溃

如果有人能为我提供一些澄清,我将不胜感激,我主要是寻找以下问题的答案:

  • 在Android上,每个应用程序16、24、32MB的限制是否仍然有效
  • 如果是,那么有人知道Air运行时是否使用C代码访问更多RAM吗? (我也会在Adobe论坛上查看)
  • 如果限制不到位或我误解了它,那么一个进程可以访问的“RAM”的实际最大数量是多少,是我上面提到的元素的总和,还是有其他公式
  • 有人知道iOS平台上的限制吗(每个应用程序的最大内存量)

  • 谢谢。

    是的,每个应用程序的内存限制仍然有效。在android中,每个应用程序都有自己的VM实例,因此也有自己的堆内存(不与其他应用程序共享),具有一定的固定大小。分配给应用程序的堆内存大小由制造商设置,因此不同移动设备的堆内存大小不同,根据设备的不同,堆内存大小在16MB到64MB之间。 通过在manifest file属性中包含android:largeHeap=“true”,可以将特定应用程序的堆大小增加一倍(尽管强烈建议您这样做)。所以我假设“AdobeAIR”应用程序就是这样做的

    当你关闭一个应用程序时,android并不会真的杀死它。该应用程序在后台运行,以便下次打开时可以快速加载。因此,我们设备的RAM只有一部分分配给每个应用程序,因此每个应用程序都有硬限制


    不过我对iOS一无所知对于iOS小于4.0的应用程序,每个应用程序的限制是40Mb。在4.1上,我可以看到使用仪器时,一个应用程序将在60MB时停止。但不能提供任何官方文件。