【问题标题】:android - large images cause app crashandroid - 大图像导致应用程序崩溃
【发布时间】:2013-02-21 17:38:18
【问题描述】:

我正在开发一款平板电脑应用。我尝试使用Layout.setBackgroundResource(ResId) 将高分辨率(2223x3553)图像设置为背景。该应用程序在Nexus 7 上测试时崩溃,我不会粘贴堆栈跟踪,因为LogCat 中有大约 300 条红线有 8 或 9 个异常,我花了一段时间才弄清楚原因。在我注意到OutOfMemoryException 后,我得到了它,使用 1280x800 图像,该应用程序运行良好,但由于这些图像被设计为高分辨率,因此出现了一些质量损失。

问题:如何在 Android 中处理高分辨率图像以防止这样的崩溃?所有图像都是本地的,并存储在drawable 文件夹中

【问题讨论】:

  • 您需要在将图像加载到内存之前调整其大小。这个答案可能对你有用stackoverflow.com/questions/4837715/…
  • 仅供参考,该高度和宽度的位图将需要大约 30 兆字节的 Java 堆。
  • @Maver1ck 您是否尝试过教程,您需要计算样本大小并根据您需要加载图像请查看教程...
  • Nexus-7 只有 1280×800。你的背景图片被杀了。

标签: android image graphics


【解决方案1】:

你必须使用我在这样的用例中使用过的同一个库,

This project 也会帮助你。因为您需要在显示图片的同时压缩图片,如果最终需要,还可以使用延迟加载功能。

【讨论】:

    【解决方案2】:

    图像大小在 android 开发中是有限的。您不能使用大于规定图像的图像。有一个关于如何为您的应用程序选择图像的指南。这是指南的link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2013-12-02
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多