所以我将 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 和静态对象等的性质,没有被完全处理掉。
我不确定如何对此进行测试以避免错误。