- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我将 ObjectBox 与一个名为 LibGDX 的库一起使用,这是一个用 java 编写的跨平台游戏库。它的工作原理是在单个 Android Activity 类中加载类似于 Java 小程序的内容,但所有工作都在小程序中完成,而 Android 中则没有任何工作(除了实例化 Activity)。
因此,我的 objectBox 代码是用 Java 编写的,无法使用上下文。因此我运行
boxStore = MyObjectBox.builder().androidContext(this).build();
每次在应用程序启动时创建数据库对象时,我都会运行以下代码。
private void createMyObjectBox() throws IOException {
FileHandle fileHandle = Gdx.files.local("objectstorefile");
if(!fileHandle.isDirectory()) {
fileHandle.mkdirs();
}
store = MyObjectBox.builder().directory(boxStoreDir).build();
}
如果我启动我的应用程序,然后立即点击主页按钮,然后再次启动它,我会遇到此崩溃。我认为残留的 MyObjectBox 对象仍然存在,可能是由于 Android 和静态对象等的性质,没有被完全处理。
我不确定如何进行测试以避免错误。
最佳答案
任何时候每个目录都应该只有一个 MyObjectBox 实例处于事件状态。因此,您应该关闭旧存储(store.close()
),或者仅保持存储打开(例如单例、静态......)。后者通常是首选,因为它更简单、更高效。
更新:非 Android 代码示例
static BoxStore store;
public static BoxStore getStore() {
if(store == null) store = createMyObjectBox();
return store;
}
关于ObjectBox - 另一个 BoxStore 仍为此目录打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48422772/
所以我将 ObjectBox 与一个名为 LibGDX 的库一起使用,这是一个用 java 编写的跨平台游戏库。它的工作原理是在单个 Android Activity 类中加载类似于 Java 小程序
正如标题所说。 当我启动我的 Android 应用程序时,出现以下错误 No implementation found for void io.objectbox.BoxStore.nativeDel
我是一名优秀的程序员,十分优秀!