LoginSignup
2
2

More than 5 years have passed since last update.

RealmとGsonで10分くらいハマった話。あと解決方法。

Posted at

Realmを導入したら通信時にこんなログがで続けてハングアップした。

concurrent mark sweep GC freed 76220(1711KB) AllocSpace objects, 77(2MB) LOS objects, 29% free, 8MB/12MB, paused 5.798ms total 50.613ms

RealmObjectの内容をGsonがJSON文字列にしようとしてるいるのが原因でした。

不便ですがJson化したいオブジェクトはRealmObjectにできない。。。
かとおもいきや。

    public static Gson gson() {
        return 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();
    }

解決できました。

参考

Merging Realm object & Gson object
- http://stackoverflow.com/questions/26275143/merging-realm-object-gson-object

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2