【问题标题】:1-bit based Bitmap in AndroidAndroid中基于1位的位图
【发布时间】:2011-10-10 11:47:12
【问题描述】:

我正在尝试缓存大位图以在 Android 屏幕上绘图。但是现在我面临 OutOfMemoryException,说位图分配超出了 VM 预算。

我需要最小化位图的大小,但我不能降低分辨率。对于我的用例,我只需要保存位图的形状并在以后实际绘制时应用颜色,所以我使用 ALPHA_8 作为位图配置。

我想知道位图中是否有 1-bit 像素(完全不透明或完全透明)配置,或者任何类似的节省内存的方式?

【问题讨论】:

    标签: android graphics bitmap out-of-memory android-canvas


    【解决方案1】:

    将颜色深度从 8 位降低到 1 位当然会有所帮助。但是,它并没有真正解决问题,只是推迟了它。这仅意味着您将在稍后获得 OOME,但您仍然会获得它。

    考虑将缓存从 RAM 移动到磁盘,并且可以选择在其上添加基于 RAM 的较小缓存以提高性能。

    【讨论】:

    • 大多数情况下,您的方式是解决OOME的最佳方式。但实际上我的位图是从大量形状绘制的画布的缓存。我存储了一个缓存以提高对我的应用程序的响应能力,因此我宁愿再次绘制它们,而不是存储到硬盘上。我只是想知道是否可以使用 1 位,因为这可以让我在相同的内存空间中存储更多的缓存。
    猜你喜欢
    • 2014-04-20
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 2012-03-11
    • 2019-04-11
    相关资源
    最近更新 更多