微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android / iOS app内存限制(澄清)和Adobe Air

我一直在搜索这些论坛,以了解对使用flex SDK创建并在 Android / iOS中运行的应用程序施加的内存限制.
在这里查看了以下帖子:

> 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中,每个应用程序都有自己的VM实例,因此它自己的堆内存(不与其他应用程序共享)具有一定的固定大小.分配给应用程序的堆内存大小由制造商设置,因此从移动设备到移动设备各不相同,具体取决于设备,介于16MB和64MB之间.
通过在清单文件属性中包含android:largeHeap =“true”,可以将特定应用程序的堆大小加倍(尽管强烈建议不要这样做).所以我假设’Adobe Air’应用就是这么做的.

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

我对iOS没有任何线索!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐