Android 的光标窗口大小似乎有 1MB 的限制,这限制了从 SQLite 读取 BLOB 的能力。我知道您可能会说我们不应该将 BLOB 存储在数据库中,但根据定义,BLOB 被视为二进制大对象,如果不需要将它们存储在数据库中,则无需在任何数据库引擎中实现此类对象类型。
然而,在几乎所有情况下,Cursor 实施的 1 MB 限制似乎都不够。出于正当理由,我需要将二进制数据存储在 SQLite 数据库中,它们的大小远远超过 1 MB。SQLite 能够完美地处理 BLOB,因为 C API 在 Xcode(iPhone 平台)中运行良好,可以毫无问题地检索大对象。
我想知道我们是否可以在不使用游标的情况下访问 Android 中的 BLOB 数据。我正在考虑对 Java 中的 Sqlite 进行较低级别的访问。有什么建议么?