【问题标题】:Android: downgrade the image bitmap quality to make activity loads fasterAndroid:降低图像位图质量以使活动加载更快
【发布时间】:2012-07-18 18:43:58
【问题描述】:

首先,我是Android新手。这个问题可能很愚蠢。请忍受我。

我的活动加载了用户(外部)拍摄的大量图片,并在 listView 或 Horizo​​ntalScrollView 中以缩略图(小尺寸图片)的形式显示它们。我想知道有什么好方法可以使位图加载更快吗?我使用 bitmapFactory.insampleSize 来缩小它。 inDensity 会有帮助吗?还有什么好的方法吗?

我正在考虑为每张图像保存一个低质量的副本,因此每次应用程序都会显示缩略图低质量图像,除非用户真的想看到原始图像。这适用吗?如果是这样,有什么方法吗?

提前致谢!

【问题讨论】:

  • 不管怎样,你在加载一个之后再缩放一个,而且大部分时间都是加载。如果您在加载时显示圆形进度条,那么用户可能会很高兴

标签: android memory bitmap


【解决方案1】:

我建议您创建位图的缩小版本。请关注http://developer.android.com/training/displaying-bitmaps/load-bitmap.html#load-bitmap 以了解如何拥有您的位图的缩小版本。由于它是显示缩略图的位图的缩小版本,因此它当然会节省您的内存使用量。

【讨论】:

  • 感谢您的回复。我确实使用 insampleSize 缩小了位图,但仍然需要相当长的时间。
  • 如果您仔细检查链接,它首先根据所需的高度和宽度计算 inSampleSize。因此,首先调用 decodeResource 只是为了检查尺寸(检查,options.inJustDecodeBounds 第一次设置为 true)。下次调用 decodeResource 时,options.inJustDecodeBoundsis 设置为 false。它工作得很好,因为我自己已经将它用于抛出 OOM 异常的重图像。如果可能的话,分享你的代码。
猜你喜欢
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 2019-08-23
  • 2017-08-03
  • 1970-01-01
  • 2014-08-10
  • 1970-01-01
  • 2021-05-09
相关资源
最近更新 更多