我试图将Realm与Snappydb进行比较(对于那些想要查看基准测试的人来说,这是我的回购).我想我的方式是错误的,因为与Sanppydb相比,存储到数据库的时间在Realm中需要超长的时间.
基准测试显示以下结果.正如您在图像中看到的那样,Realm比Snappydb慢大约100-200倍.

我正在做的是先创建10,000个对象,然后将它们存储到数据库中.因此,在我的代码中,我以这种方式存储一个Booking对象(有一个for循环,迭代10,000次):
public void storeBooking(final Booking booking) {
mRealm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
Booking realmBooking = realm.createObject(Booking.class);
realmBooking.setId(booking.getId());
realmBooking.setCode(booking.getCode());
realmBooking.setFareLowerBound(booking.getFareLowerBound());
realmBooking.setFareUpperBound(booking.getFareUpperBound());
realmBooking.setPhoneNumber(booking.getPhoneNumber());
realmBooking.setPickUpTime(booking.getPickUpTime());
realmBooking.setRequestedTaxiTypeName(booking.getRequestedTaxiTypeName());
realmBooking.setTaxiTypeId(booking.getTaxiTypeId());
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是用于存储Booking对象的Snappydb方法.
public void storeBooking(final String key, final Booking booking) {
try {
mSnappyDb.put(key, booking);
} catch (SnappydbException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
使用insertOrUpdate()方法和一个事务的新结果
我有一个使用本机库(snappydb)的Android APK .本机库需要很多空间,所以我想只保留snappydbarmeabi-v7a架构?
我知道移除snappydb其他架构并不是100%安全,所以我的问题是:它有多安全?(我会丢失多少设备/用户?)
仅供参考,我的应用程序支持的最小sdk版本是16(JELLY_BEAN).