android nosql 数据库对比 Realm vs ObjectBox

前言:android 数据库对比资料

  1. Room,Realm,,ObjectBox 你选择哪个? 发表于 2017-09-26
  2. 5个最流行的可用于移动开发的嵌入式数据库简介 发表于 2016-04-12
  3. ORM数据库框架 SQLite 常用数据库框架比较 发表于 2018-8-17

集成试验

★只代表强度,最高5星,不代表好坏

ObjectBox

难度 (较高★★★☆)

需要在build.gradle写入以下:
classpath “io.objectbox:objectbox-gradle-plugin:$objectboxVersion”
apply plugin: ‘io.objectbox’

可选编译方案(官方文档上说如果plugin: 'io.objectbox’失效出错,可以手动加入以下代码进行编译):

apply plugin: ‘kotlin-kapt’

kapt “io.objectbox:objectbox-processor:$objectboxVersion”

releaseImplementation “io.objectbox:objectbox-android:$objectboxVersion”

可选组件:

implementation "io.objectbox:objectbox-kotlin:$objectboxVersion 用于kotlin

debugImplementation “io.objectbox:objectbox-android-objectbrowser:$objectboxVersion” 用于查看数据库

在编译的时候报错:
合并包错误
解决方案:

把 apply plugin: ‘io.objectbox’ 写在build.gradle最下面

找不到MyObjectBox
解决方案:

先写一个数据类(使用@Entity)在build中执行rebuild 或 make project
因为不使用数据库的或,编译插件不会生成MyObjectBox

大小(较大★★★☆)

ObjectBox lib 大小
如图所示,lib库有1.8Mb ,平均每个so文件相对于Realmx小了65%,但是相对于Realm不支持mips。

不追求最高性能的话,x86库中可定制化移除其中一个;mips使用设备太少,不支持影响很小

Realm

难度(一般★★☆)

需要在build.gradle写入以下:
classpath “io.realm:realm-gradle-plugin:5.8.0”
apply plugin: ‘realm-android’

在编译的时候报错:
Invoke-customs are only supported starting with android 0 --min-api 26
解决方案:

在build.gradle的android下写入以下
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
就是说使用java8开发,但是Androidstudio会自动帮你兼容以前版本

参考:使用 Java 8 语言功能

大小 (超大★★★★☆)

Realm lib 大小
如图所示,lib库有6Mb ,平均每个so文件相对于ObjectBox大了170%,但是相对于ObjectBox增加支持mips。

mips所使用人群很少,可定制化移除

中文文档

ObjectBox

没有官方中文文档

国内译文

备注:译文版本为ObjectBox1.1 ;ObjectBox现在版本为2.2

Realm

官方中文文档

官方中文文档版本为3.1.1 ; Realm现在版本为5.8.0

未完待续…

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值