Android ContentProvider 性能

标签 android performance sqlite ipc

我很好奇是否有人对通过 ContentResolver 查询 ContentProvider 与在同一进程中查询 SQLiteDatabase 对象进行了任何性能测试.我猜测 ContentResolver 查询会传回一个通过 Binder (Android IPC) 与数据库通信的 Cursor。这意味着如果我通过 Cursor 读取 100 条记录的内容,将导致 100 次 Binder 方法调用。我的猜测是否正确?如果正确,那会比在同一进程中访问数据库慢得多吗?

最佳答案

我还没有完全做到这一点。我所做的是通过 ContentProvider 或直接通过 SQLite 数据库来测量多个插入的性能。 我插入了大约 1000 个项目(一个接一个)。通过 ContentProvider 插入要慢得多。在我的测试中,速度慢了近 10%。

关于Android ContentProvider 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4426616/

相关文章:

android - 创建一个专门用于检索图像的类?

android - 在 Android 中使用 websocat 连接到 WSS

android - 导入 ActionBarSherlock 时 Jar 不匹配

c - 如果尝试打开不存在的文件,sqlite3_open 不会返回错误

database - SQLite 累计和和包含 SUBSTR() 的 WHERE

Android sdk - 手动安装

javascript - 如何使用 jQuery 高效地添加和删除类

mysql - 如何使用单个查询获取 mySQL 中的相对计数/频率

C# 应用程序在控制台中使用另一个应用程序

python - 一次查询多个参数的 Sqlite 并处理缺失值