【问题标题】:RGB_565 bitmap in Android - how much does it take in memory?Android 中的 RGB_565 位图 - 它占用多少内存?
【发布时间】:2011-04-02 14:03:15
【问题描述】:

RGB_565位图在Android中占用多少内存?我猜每个像素 2 个字节,但是:

  1. 我有 256x256 位图,所以 1 将有 256 * 256 * 2 = 131,072 字节
  2. 当内存中有 143 个位图时,我的应用程序(离线平铺地图)在 N1 (2.3) 上抛出 OutOfMemoryError。 143 个位图是 18MB。我手机上的最大堆大小为 32 MB。
  3. 这意味着我的应用程序的其余部分为 32 - 18 = 14 MB。但我在 DDMS > Heap 中只看到 7 MB 多一点。此外,在 16 MB 堆大小的设备上,我只有 2 MB 的位图。

【问题讨论】:

    标签: android bitmap


    【解决方案1】:

    在 nexus one 上,每个 android 应用程序的内存限制为 24MB,这包括您分配的任何位图。

    它还加起来 - 您的应用程序没有位图占用大约 7MB,当您分配 143 个位图时,我认为您违反了 24MB 限制,从而导致异常。

    在这篇文章here中进行了更详细的讨论

    【讨论】:

      【解决方案2】:

      在 Android

      在 3.0+ 中,位图数据存储在 Dalvik 堆中。

      如果您有其他图像(还有 xml 文件中的背景、xml 中的图像),它们会占用其他空间。我遇到了很多 OutOfMemoryIssues,因为我使用了太大的图像作为背景。

      【讨论】:

        猜你喜欢
        • 2013-08-17
        • 1970-01-01
        • 2023-03-10
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-17
        • 1970-01-01
        相关资源
        最近更新 更多