Android 域块Gson库

Android 域块Gson库,android,database,parsing,gson,realm,Android,Database,Parsing,Gson,Realm,我对领域库有问题。我在我的应用程序中实现了它,包括库。开始创建一些realmObjects,以便与我的应用程序一起使用,然后我尝试启动该应用程序,但令我惊讶的是,它被卡在了第一页上,这很奇怪,因为没有领域代码。 经过一些调试,我发现它在以下行崩溃: String json = gson.toJson(user); Gson不是空的。我还试着取出了realm,看看这是否是问题所在,如果没有它,它会起作用。 这是crashlytics告诉我的,几分钟后(它不会直接崩溃,只是被阻塞了一会儿,然后)

我对领域库有问题。我在我的应用程序中实现了它,包括库。开始创建一些realmObjects,以便与我的应用程序一起使用,然后我尝试启动该应用程序,但令我惊讶的是,它被卡在了第一页上,这很奇怪,因为没有领域代码。 经过一些调试,我发现它在以下行崩溃:

 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();