我想知道如何在java中优化以下内容。我希望在 Android 手机上使用它,这样内存中的内容越少越好。
我得到一个包含一列的记录集,该列将二进制数据保存在一个字节数组中。这是我从来没有玩过的东西。
二进制数据中的信息结构可以在这里找到:BLOB
我想跳过 SRID 和 MBR,但我想要 ENDIAN、CLASS TYPE 和实际的几何数据。
几何数据的实际处理在这个问题中并不那么重要,更重要的是我如何获取数据以及如何快速获取数据。
Stmt stmt = local_db.prepare("Select geometry From Parcel");
while (stmt.step()){
//stmt.column_bytes(0) holds the byte array
//this could be used with a ByteArrayInputStream or perhaps a ByteBuffer
//maybe something else, what ever would be faster??
//
//Next would be the proccessing of the byte array to get the values out.
//Switch (ENDIAN){
// case 0 :
//
// break;
// default:
//
//}
}
stmt.close();
最后,这些形状将直接放入渲染器,因此我不需要在内存中保留任何内容。这超出了我自己,但可能对你有用,看看我最终将如何使用它。