- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Android 2.3 的 VM 预算似乎比 2.1 和 2.2 小得多。令我惊讶的是,较新的操作系统限制更多,我希望由于技术的发展,人们应该为应用程序分配更大的内存(VM 预算)。
因此我无法在内存中保存大的位图图像,这对于我现在正在做的图形图像处理应用程序很重要。但它在 2.1 和 2.2 中运行良好。
如果我使用 inScale 缩小我的图像以适应 2.3,那么我的输出质量就会下降。
根据您自己的经验,您对如何处理 2.3 和之前版本之间的这种差异有什么建议吗?
最佳答案
Android 2.3 的 VM 预算实际上更高 (32 MB)。不同之处在于 Android 2.3 现在默认以 32 位 (ARGB8888) 加载所有位图,而不是 16 位。
参见 http://www.curious-creature.org/2010/12/04/gingerbread-and-32-bits-windows/和 http://www.curious-creature.org/2010/12/08/bitmap-quality-banding-and-dithering/了解更多信息
关于Android 2.3 的 VM 预算低于 2.1 和 2.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871143/
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 9 年前。 Improve
我正在尝试部署包含 Azure 预算的 ARM 模板。目前我正在使用 Azure CLI,但也可以通过门户进行。 az deployment group create --resource-group
我正在尝试部署包含 Azure 预算的 ARM 模板。目前我正在使用 Azure CLI,但也可以通过门户进行。 az deployment group create --resource-group
我正在将我的图像传递到 xml,通过使用以下方法调整我的图像大小: scaled = Bitmap.createScaledBitmap(bp, h, w, true); imgV.setIm
我设计了一个自定义 ImageView 库,在我的三星 Galaxy S3 上运行起来非常棒,但是当我尝试让它在我的 HTC Wildfire S 上运行时,它会抛出一个 java.lang.OutO
我已经阅读了关于这个问题的那些帖子,但我的情况有点不同,因为我没有显示位图,而是只是对原始数据的图像进行后处理。首先,我调用 ImageProcessing.rgbToBitmap(data,widt
我已经阅读了很多关于这个问题的帖子,但我找不到适用于我的代码的帖子(或者至少我可以找到相关的帖子)。 我有一个可以横向和纵向显示的主屏幕小部件。如果我不断改变设备的方向,我会在我的 logcat 中得
我在 BitmapFactory 中遇到异常。我读过其他问题,唯一的解决方案是加载我的图像的缩小版本,但在我的情况下,我需要以全分辨率显示它们并带有缩放系统(图像是包含文本的传单) . 300ko 的
在我的应用程序中,用户选择图像,程序允许用户对图像进行更改。由于那里有很多不同的 android 设备,我的程序在一些堆大小较小的设备上崩溃。我想计算最适合用户手机的尺寸,这样它就不会因为 VM 预算
我已经为我的向上和向下按钮寻找了很多解决方案,但似乎没有任何效果。在程序中使用 ImageButton 时,我可以在出现 OutOfMemoryError 之前按三个 ImageButton。请提供任
我浏览了很多与此错误相关的帖子,但没有找到适合我的问题的解决方案。在我的项目中有三个 Activity ..在每个 Activity 中有 4 个我正在使用序列的动画。在单击以更改我的 Activit
我想知道是否有人对旨在缓存尽可能多的动态发现的图像的架构有任何经验。 在我的情况下,我为从 ListView 单击的每个项目请求一个位图。这些位图是通过网络接收的(就处理或网络 I/O 而言,这不是一
我到处寻找“位图大小超出 VM 预算”的问题,但似乎没有一个解决方案适用于我。我不明白为什么我的程序有时会抛出这个错误,因为我使用它的方式似乎不会导致任何可能的内存泄漏。我的堆栈跟踪指向 Bitmap
我有这个函数可以从 SD 加载一个大位图并旋转它。 但在第二次或第三次旋转后,我得到一个位图大小超出 VM 预算错误。 有什么想法吗?我确实回收旧位图,不是吗? public void next(St
我有一个应用程序,我在其中读取了一些 gps 数据并将它们显示在 map 上,我还在那个位置添加了一个叠加层,这是一个小的 .png 图像。 我在 Async Task 线程和 onProgressU
尝试通过 Powreshell API (New-AzureRmConspirationBudget) 创建 azure 预算。当从 Azure 运行此命令时,将创建用户上下文预算并发出警报。当从 A
有什么方法可以找到位图的虚拟机预算吗? 我的应用程序一次显示两张照片,如果适当的缩放和颜色深度,这是可能的,但是,如果设备有更大的虚拟机预算(就像某些设备一样),我希望应用程序使用它来获得更好的图像质
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: bitmap size exceeds Vm budget error android 我开发了一个android示
我猜我有内存泄漏。我有一个使用相机的列表 Activity ......现在只处理拍照......但我想一些列表膨胀会导致一些内存泄漏......我想我错过了一些资源释放(猜测图像......) 我找
发布了我的问题 here too. 一个初学者..我正在做一个学校 map 应用程序。 首先,我的背景有 4 个按钮(level3、level4、level5、level6)。 我尝试点击所有的按钮,
我是一名优秀的程序员,十分优秀!