【问题标题】:"OutOfMemory" Exception only on Samsung Galaxy S3仅在三星 Galaxy S3 上出现“OutOfMemory”异常
【发布时间】:2012-08-22 23:22:10
【问题描述】:

Samsung Galaxy S3 在我的应用程序上几乎立即使用 32mb 堆大小,而在几乎任何其他 android 设备上它从 +- 5mb 开始(在 logcat 中看到这一点,如果需要,可以从两个不同的设备发送屏幕截图)。认为这是我的应用程序仅在 Galaxy s3 上因“OutOfMemory”异常而崩溃的原因,在 Galaxy Y Duos 和 Pocket 上完美运行。

任何关于为什么会发生这种情况的帮助/建议将不胜感激。

【问题讨论】:

  • 关于OOM异常抛出了什么?你在用 Bitmaps,Buggy API,明白这对你有帮助吗。
  • 位图工厂解码时抛出。但是我试图弄清楚为什么它只发生在 Galaxy S3 上它在我拥有的任何其他 android 手机上都能完美运行,我的实际问题是“galaxy 使用比其他 android 手机更多的堆是否存在错误?
  • 您测试的手机是否运行相同的 Android 操作系统版本?
  • 是的,我有 Galaxy Y Duos 和 Pocket,都是 2.3.6,我有 2x Galaxy S3。
  • s3 启动时使用 32mb 的原因是因为它使用 xhdpi。哪些图像比银河 Y Duos 大得多

标签: android crash out-of-memory galaxy heap-size


【解决方案1】:

正如 mario 所说,问题在于 s3 分辨率高于其他模型,因此图像尺寸更大,因此内存消耗也更大。

虽然值得一提的是,S3 似乎有一点最大堆大小来考虑它的分辨率,因为我也遇到过内存不足的问题,但对于其他具有相同分辨率但堆限制更高的设备却没有。

【讨论】:

    【解决方案2】:

    在大多数情况下,OOM 不是加载位图或类似的,而是主要基于 GPU 阅读此 link 和此 too 只是 look at this solution for various situation caused by OOM

    在我的例子中,我已经替换了试图从你那里加载的图像drawables,可以使用drawable-nodpi

    在我的应用程序中,drawable-hdpi 拥有该应用程序的所有图像。在大多数设备上,没有问题。在 S3 上,应用程序会占用 2 倍的内存,然后会遇到内存不足的问题。

    我刚刚创建了与 drawable-hdpi 文件夹内容相同的 drawable-xhdpi 文件夹,并在 S3 上运行它。立即注意到内存占用为 1/2,并且没有内存不足的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 1970-01-01
      • 2012-06-03
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多