我最近将Android项目更改为使用Realm。 但是当它在某些设备上运行时,它会消耗大量电池。 我的用户报告了一个问题,也就是说,当我的应用程序处于后台时,CPU速率偶尔会上升到100%并将电池电量降至零。 在我的应用程序的先前版本中没有发生过没有包含Realm的内容。 但我无法在我的测试设备或模拟器上重现此问题。 所以我无法获得方法跟踪。
这是设备信息:
华硕PadFone 2(A68)Android 4.4配2G内存
该用户的设备已根据此apk:http://root.360.cn/
我已经要求用户监控Realm创建的文件,以查看它是否经常更新。 但不,在我的申请处于后台后,它没有更新。 并且数据库文件正确增长,因此数据应该已经存储。
以下是我初始化Realm的代码:
Realm.init(this);
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder()
.schemaVersion( REALM_DATABASE_VERSION ) // Must be bumped when the schema changes
.migration( migration ) // Migration to run instead of throwing an exception
// .deleteRealmIfMigrationNeeded()
.build();
Realm.compactRealm( realmConfiguration );
Realm.setDefaultConfiguration(realmConfiguration);