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

未完待续…

更多相关文章

  1. Android 3.0 r1 API中文文档(113) ——SlidingDrawer
  2. 2013.08.08——— android 中文简繁体转换
  3. Android 打开pdf文档,没有阅读器链接到Google Play Store等下载
  4. Android 短信数据库详细介绍
  5. Android 中文 API (101) —— AsyncTask
  6. Android 使用ORMLite 操作数据库
  7. Android中文API (109) —— SimpleCursorTreeAdapter
  8. Android中文API(115)——AudioFormat
  9. android GreenDao数据库框架学习(1)

随机推荐

  1. Android事件分发机制和一些疑问
  2. Android(安卓)NDK环境搭建
  3. com/android/phone/INetworkQueryService
  4. android 开发中判断网络是否连接的代码
  5. android设置横屏代码
  6. Android中关于cpu/cpuset/schedtune的应
  7. 带weight的LinearLayout嵌套RecyclerView
  8. Activity属性设置大全
  9. 进程保活
  10. The differences between @+id and @andr