当前位置: 首页 > news >正文

Android数据库SQLite、Room、Realm、MMKV/DataStore、ObjectBox性能比较

  • Android主流数据库基础特点
  • 核心数据库特性与性能对比维度
  • 总结

在 Android 开发中,数据库选型直接影响应用的性能、开发效率和可维护性。不同数据库的存储限制,比如常用的SharedPreferences、SQLite、还有基于SQLite封装的greenDao等,这些似乎都不是在开发安卓应用时最优的存储介质的选择;所以今天我们就把常见的数据库选项列出来,分析它们的优缺点,性能特点,适用场景,然后给出选型建议,帮助小伙伴们在实际开发应用中做出适合自己项目的正确决策。

Android主流数据库基础特点

  • SQLite:系统内置,无需依赖第三方库,支持复杂 SQL 查询和事务(ACID);需要手动管理 Cursor 和 SQL 语句,开发效率低,多线程情况下也需要手动处理;
  • Room:基于 SQLite 的官方 ORM 库,在编译时进行SQL校验减少开发时不必要的错误;对LiveData、RxJava和Kotlin支持比较好;
  • Realm:对象直接存储,无需 ORM 映射,读性能极高;需要继承RealmObject主要是对模型的侵入会有一点;
  • MMKV/DataStore:key-value存储介质,体积较小且使用很简单,读写速度也达到微秒级;对复杂查询和表存储并不支持;
  • ObjectBox:本地 NoSQL 数据库,读写性能远超 SQLite;零拷贝设计,低内存占用,支持自动数据同步(ObjectBox Sync);

核心数据库特性与性能对比维度

数据库存储模型读性能写性能并发能力适用场景APK体积影响
SQLite表结构中(需优化)结构化数据,复杂查询无(系统内置)
Room表结构结构化数据,MVVM架构
Realm对象模型极高高并发读,跨平台+4MB~6MB
ObjectBox对象模型极高极高高性能本地存储+1MB~2MB
MMKV键值对极高极高简单配置,高频读写+100KB
DataStore键值对/Proto替代 SharedPreferences低(Jetpack)

根据上面指标对比,读写性能排序指标

  • 10k次读性能由快到慢依次是:ObjectBox ≈ Realm > MMKV > Room/SQLite > DataStore
  • 10k次写性能由快到慢依次是:MMKV ≈ ObjectBox > Realm > Room/SQLite > DataStore
  • 对于内存的占用情况(由大到小):Realm > SQLite > ObjectBox > Room > MMKV/DataStore

总结

对于本地应用一般需要根据以下项目性质来定:

  1. 默认选择:Room(官方维护、开发高效、生态完善)。
  2. 高性能需求:ObjectBox(本地 NoSQL 王者)或 Realm(跨平台)。
  3. 简单键值对:MMKV(性能极致)或 DataStore(协程集成)。
  4. 历史项目/底层控制:SQLite(灵活但需手动优化)。

个人一般会选择MMKV、Realm、ObjectBos,因为这三个库的读写相对都还不错。

相关文章:

  • MySql:Authentication plugin ‘caching sha2 password‘ cannot be loaded
  • 二叉树-二叉树的所有路径
  • 【前端基础】Day 2 HTML
  • 玩转Docker | 使用Docker部署IT-tools工具箱
  • 【C++】list
  • 力扣 下一个排列
  • 东信营销科技巨额补贴仍由盈转亏:毛利率大幅下滑,现金流告急
  • 通义千问报告(Qwen Technical Report)阅读记录
  • 使用torch.compile进行CPU优化
  • Centos7环境下用ollama部署DeepSeek
  • pytest下放pytest.ini文件就导致报错:ERROR: file or directory not found: #
  • 刷题日记5
  • YOLO11改进-模块-引入双分支特征提取(Twin-Branch Feature Extraction,TBFE)解决小目标问题、遮挡
  • 探寻人工智能的领航之光
  • ubuntu20.04安装docker
  • chrome控制台报错就会进入debugger模式怎么取消
  • Solidity study
  • 编写一个程序,计算并输出1到100的和(Python版)
  • 7种内外网数据交换方案全解析 哪种安全、高效、合规?
  • C语言基本输入输出学习笔记
  • 河南建筑信息一体化平台/长沙网站seo排名
  • 潍坊自动seo/seo网络推广报价
  • 钟星建设集团网站/电脑培训网上培训班
  • 政府内网网站建设/文职培训机构前十名
  • 网站建设工作分解结构词典/做推广网络
  • 怎么做网站主/谷歌应用商店