gpt4 book ai didi

android - 为什么 ASUS Transformer Prime 是唯一出现 OutOfMemory 异常的设备

转载 作者:行者123 更新时间:2023-11-29 00:41:00 24 4
gpt4 key购买 nike

我正在开发一个需要显示 4 个大位图(6 x 屏幕尺寸)的 Android 应用程序。一开始,我对此有疑问,但内存管理的代码优化适用于整个设备。但是在 4.0.3 android 版本的 ASUS Transformer Prime 上,我遇到了 OutOfMemory 错误。这很奇怪,因为 Heap Size 似乎达到了 256Mb。与它在其上正常运行的其他设备相比有很多。

我们已激活大堆并停用硬件加速。

你知道我们的问题吗?

最佳答案

您的屏幕是 1280x800,因此屏幕大小为 32bpp 的位图将需要不到 4MB,而 6 x 屏幕大小的位图将需要 23.5MB。而您想要其中的四个...即 93.75MB。

进程堆限制因设备而异,但我认为 64MB 已经很多(也许我落伍了)。 256MB 很大!

恕我直言,您根本不应该尝试将如此庞大的位图保存在内存中。您最好将它们分解成不大于屏幕的小块,并在需要时加载这些小块。

或者,尝试使用 16bpp 图像或在 JNI 中(即在 C 中)为您的大量位图分配空间并完全绕过 Java 堆管理。

关于android - 为什么 ASUS Transformer Prime 是唯一出现 OutOfMemory 异常的设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9331993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com