【问题标题】:Better option to handle JPEG byte array decoding处理 JPEG 字节数组解码的更好选择
【发布时间】:2013-02-28 08:52:40
【问题描述】:

给定从相机获取的 JPEG 编码字节数组,我需要对其进行解码并在我的应用程序中显示其图像(位图)。通过搜索,我发现有两种主要方法可以解决此问题:use NDK Jpeg Decoding library 或使用BitmapFactory.decodeByteArray。这适用于正在开发的实验性嵌入式设备,该设备在 Android 上运行并带有内置摄像头。

如果可能的话,我非常希望在 SDK 而不是 NDK 中开发应用程序,但是很多人似乎通过直接使用 NDK 来解决这个问题,这让我有点烦恼。

  • BitmapFactory.decodeByteArray 中是否存在某种固有限制,迫使您在 NDK 中使用 libjpeg 来处理此问题(可能是速度?不兼容?)

性能并不是一个重要的考虑因素,除非解码图像并显示它需要超过 45 秒。

这是我需要提前做出的一个重要决定,因此我将不胜感激任何深思熟虑的答案。非常感谢。

【问题讨论】:

标签: android bitmap android-ndk jpeg


【解决方案1】:

这是一个非常好的示例/说明如何在不使用 NDK 的情况下有效地解码设备上的图像:Displaying Bitmap Efficiently。您可以选择从流或文件中解码位图,这取决于您的需要。但是在我的大多数应用程序中,我都使用相同的方法,并且效果很好。所以我建议你看一下 SDK 示例。

希望对你有帮助。

【讨论】:

  • 感谢您的及时回复。我将始终通过 JPEG 编码字节接收图像数据,因此只要没有已知问题,我将继续使用此方法。尽管人们选择使用 NDK 方法来解决这个问题对我来说仍然很奇怪......
  • 如果您只需要解码流并在应用程序中显示,则无需使用 NDK,因为您可以使用 Java 和 Android SDK 以非常好的方式实现这一点。在我的应用程序中,我必须首先解密图像,然后解码解密的流,我从来没有遇到过这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多