【问题标题】:Compress/uncompress data in memory压缩/解压缩内存中的数据
【发布时间】:2014-03-20 16:21:37
【问题描述】:

在 android 中使用 C++(安装了 OpenCV)...

我有一些数据存储在内存中(大约 140mb),我需要将其保存到文件中,然后通过 Internet 发送。我想做的是先对其进行压缩(将压缩后的数据放入不同的内存块中),然后保存。我还需要能够反转该过程,即将压缩文件加载到一个内存块中并扩展到另一个内存块。我不关心究竟使用了什么类型的压缩。实施的简单性对我来说是最重要的。

我确信以前有人问过类似的问题,但我不确定它们是否能在古怪的 Android NDK 环境中工作。

【问题讨论】:

  • zlib 实现是开源的,我相信它已经是 android 库的一部分。
  • zlib 是 Android NDK 库的一部分。与 -lz 链接并包含
  • @BitBank:如果您将您的评论作为答案,我会将其标记为正确。

标签: android c++ eclipse opencv android-ndk


【解决方案1】:

ZLIB 是通用数据压缩/解压缩的不错选择。它包含在 NDK 库中。 DEFLATE() 和 INFLATE() 函数被广泛使用并且有据可查。它们也可以很容易地针对不同的速度和压缩比进行调整。 Android中的zlib静态库简称为“z”。

在您的 C/C++ 代码中,添加以下行:

#include <zlib.h>

在您的 Android.mk 文件中,将“-lz”添加到 LOCAL_LDLIBS 行。例如:

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -lz -llog

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多