Android 域块Gson库
我对领域库有问题。我在我的应用程序中实现了它,包括库。开始创建一些realmObjects,以便与我的应用程序一起使用,然后我尝试启动该应用程序,但令我惊讶的是,它被卡在了第一页上,这很奇怪,因为没有领域代码。 经过一些调试,我发现它在以下行崩溃:Android 域块Gson库,android,database,parsing,gson,realm,Android,Database,Parsing,Gson,Realm,我对领域库有问题。我在我的应用程序中实现了它,包括库。开始创建一些realmObjects,以便与我的应用程序一起使用,然后我尝试启动该应用程序,但令我惊讶的是,它被卡在了第一页上,这很奇怪,因为没有领域代码。 经过一些调试,我发现它在以下行崩溃: String json = gson.toJson(user); Gson不是空的。我还试着取出了realm,看看这是否是问题所在,如果没有它,它会起作用。 这是crashlytics告诉我的,几分钟后(它不会直接崩溃,只是被阻塞了一会儿,然后)
String json = gson.toJson(user);
Gson不是空的。我还试着取出了realm,看看这是否是问题所在,如果没有它,它会起作用。
这是crashlytics告诉我的,几分钟后(它不会直接崩溃,只是被阻塞了一会儿,然后):
编辑:我传递给gson(user)的项是一个名为UserRecord的类的实例,它扩展了RealmObject。
这可能是因为它是一个realmObject而不是标准的android对象吗?我发现了问题:问题是我使用了:
Gson gson = new Gson();
而不是我应该使用的:
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
Gson Gson=new GsonBuilder()
.SetExclutionStrategy(新的ExclutionStrategy)(){
@凌驾
公共布尔值shouldSkipField(字段属性f){
返回f.getDeclaringClass().equals(RealmObject.class);
}
@凌驾
公共布尔shouldSkipClass(类clazz){
返回false;
}
})
.create();
你做过内存配置文件吗?你的用户对象是否包含大量数据?它的6行,如用户名、名字、姓氏、电子邮件等,基本上是一个用户对象。没有做内存配置文件。但对于gson来说,试图释放大约2-3分钟的空间似乎很奇怪,直到它从OOM从一个比twitter小的json崩溃
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();