【问题标题】:Android - Retrieving image blob form SQLite DB without using bitmaps or decodeStreamAndroid - 从 SQLite DB 中检索图像 blob 而不使用位图或 decodeStream
【发布时间】:2015-07-08 10:34:54
【问题描述】:

Android - 我从 URL 获取 JPEG 格式的图像,并将其以二进制形式存储在 SQLite DB 中。 然后,在从 DB 中检索相同的 blob 时,我将其作为 bytearray 并将其转换为位图,使用 decodeStream;这会导致 OutOfMemory,因此我使用 inSampleSize 来缩放图像。

但我的要求是不缩放图像,所以有没有其他方法可以在不使用位图和解码流的情况下从数据库获取图像

还有什么方法可以在 android 中以原生格式(JPEG)从数据库中检索图像?

【问题讨论】:

  • 没有办法。您必须转换为Bitmap,然后将其设置为您的ImageView。并且缩放图像不是您的要求,它是OutOfMemory Exception 的解决方案。
  • 感谢您提供信息@MD,是否有任何官方文档。请提供链接。
  • 你的字节数组有多大?
  • 但我的要求是不要缩放图像 ...你错了... 你真的不需要将图像缩放为位图(注意双重否定:))

标签: android sqlite bitmap out-of-memory


【解决方案1】:

我现在明白,没有位图就无法完成此过程。 但是我仍然没有缩放图像就解决了这个问题。 我在 Manifest 中添加了以下内容,

android:largeHeap="true"

在应用标签下。

我了解这可能会导致应用出现严重的性能问题。只是一个临时解决方案。 我也开始清理我的代码并尝试更有效地使用我的堆。

谢谢大家!! :)

【讨论】:

    猜你喜欢
    • 2012-04-28
    • 2013-09-29
    • 1970-01-01
    • 2015-11-21
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    相关资源
    最近更新 更多