我在这里查看了以下帖子:
> How can an Android app use >=256Mb of RAM?
> Android Available Ram
> How do I discover memory usage of my application in Android?
根据我的理解,应用程序的限制高达32MB,但在Android上运行Adobe Air应用程序可以给我带来超过32MB的空间.
关于RAM,堆和“ROM”的这些概念我很困惑.不是所有那些都一样吗?
基本上,我想知道的是一个进程真正访问了多少“RAM”?
从我在Android上的测试中,我假设它是以下项目的总和:
> 32 MB堆空间.
>操作系统通过杀死优先级较低的应用程序(?)来回收共享内存.
>可用内存量.
我还在iOS上进行了一些测试(使用flex SDK打包的应用程序),似乎在iPad(256MB RAM)上,应用程序在获得大约150 MB的RAM后崩溃了.
如果有人能给我一些澄清,我将不胜感激,我主要是在寻找以下问题的答案:
>在Android上,每个应用程序的限制是否仍然是16,24,32MB?
>如果是,那么有人知道Air运行时是否使用C代码来访问更多RAM?
(我也会在Adobe论坛上查看).
>如果没有限制或我误解了它,过程可以访问的“RAM”的实际最大量是多少,它是我上面提到的元素的总和还是有其他公式?
>有没有人知道iOS平台的限制(每个应用程序的最大RAM量)?
谢谢.
解决方法
通过在清单文件属性中包含android:largeHeap =“true”,可以将特定应用程序的堆大小加倍(尽管强烈建议不要这样做).所以我假设’Adobe Air’应用就是这么做的.
当你关闭一个应用程序时,android并没有真正杀死它.该应用程序在后台运行,以便下次打开时可以快速加载.因此,只有部分ur设备的RAM分配给每个应用程序,因此每个应用程序都有硬限制.
我对iOS没有任何线索!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。