LMDB JNI is a Java wrapper ontop of LMDB which runs on Linux, OSX, Windows and Android (arm-linux-androideabi-4.9 x86_64).
At the moment the Android implementation rely on buffer copies and we're trying to implement zero copy using memory addresses provided by LMDB.
Zero copy is already working on Linux, OSX and Windows but is not as straight forward on Android since the memory addresses are handled differently?
We try to use the memory address of a direct ByteBuffer and hand it over to LMDB (exactly how the PC version works) but something is wrong. The full discussion and code on this can be found here.
I would greatly appreciate any tips on what might be wrong.