android nosql 数据库对比 Realm vs ObjectBox

android nosql 数据库对比 Realm vs ObjectBox

    • 前言:android 数据库对比资料
  • 集成试验
    • ObjectBox
        • 难度 (较高★★★☆)
        • 大小(较大★★★☆)
    • Realm
        • 难度(一般★★☆)
        • 大小 (超大★★★★☆)
  • 中文文档
    • ObjectBox
        • [国内译文](https://blog.csdn.net/Vxiaocai)
    • Realm
        • [官方中文文档](https://realm.io/cn/docs/java/latest/)
      • 未完待续.....

前言: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

大小(较大★★★☆)

android nosql 数据库对比 Realm vs ObjectBox_第1张图片
如图所示,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 语言功能

大小 (超大★★★★☆)

android nosql 数据库对比 Realm vs ObjectBox_第2张图片
如图所示,lib库有6Mb ,平均每个so文件相对于ObjectBox大了170%,但是相对于ObjectBox增加支持mips。

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

中文文档

ObjectBox

没有官方中文文档

国内译文

  • ObjectBox[一] 特性
  • ObjectBox[二] 教程:如何开始使用ObjectBox
  • ObjectBox[三] 教程:安装和基础
  • ObjectBox[四] 数据库持久化之实体注解
  • ObjectBox[五] 基本操作:查询
  • ObjectBox[六] 数据监听和RX(Data Observers and Reactive Extensions)
  • ObjectBox[七] 支持LiveData(Android体系结构组件)
  • ObjectBox[八] 关系
  • ObjectBox[九] 数据模型变更
  • ObjectBox[十] 自定义类型
  • ObjectBox[十一] 事务
  • ObjectBox[十二] Meta Model, IDs, and UIDs
  • ObjectBox[十三] 数据调试

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

Realm

官方中文文档

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

未完待续…

你可能感兴趣的:(Android,Database)