为啥在 Android 4.0 上的 INSERT 和 UPDATE 速度较慢?

Posted

技术标签:

【中文标题】为啥在 Android 4.0 上的 INSERT 和 UPDATE 速度较慢?【英文标题】:Why are INSERTs and UPDATEs slower on Android 4.0?为什么在 Android 4.0 上的 INSERT 和 UPDATE 速度较慢? 【发布时间】:2012-03-04 01:59:07 【问题描述】:

在 2011 年 12 月 android 4.0 可用于 Nexus S 时,我们进行了一些性能测试: http://greendao-orm.com/2011/12/17/sql-performance-in-android-4-0/

令人惊讶的是,在同一部手机上更新到 Android 4.0 后,UPDATE 和 INSERT 性能下降了一半(!)。我们没有时间进一步调查,但也许同时其他人做了?

可以推测,文件系统已更改等,但我正在寻找确凿的事实。 ;)

【问题讨论】:

只是为了确定,您使用的是股票 2.3 吗?因为一些 ROM 确实通过将不同的文件系统与 hacks 结合使用来提高 IO 性能 是的,库存操作系统。如果我没记错的话是 2.3.6 版。 我也对此感兴趣。 ICS 文件系统明显比旧机器人慢,我看不出有什么明显的原因。 如果您查看 Android 源代码树中的 sqlite.git,就会发现两个特定于 Android 的版本之间发生了许多变化。我会从那里开始。 您的基准测试脚本可以访问吗?我在你的链接上看不到它们。什么是测试手机? 【参考方案1】:

根据这个blog post by Sony,差异似乎是由SQLite Android API引起的:

与 Gingerbread 相比,ICS 的另一个变化是 Google 移动了 很多从原生到Java层的SQL处理。在我们的 内部研究,我们已经看到对 SQL 数据库需要更长的时间...

我希望看到后续调查以更深入地研究此问题,例如比较来源。此外,奇怪的是,索尼声称读取性能较慢,而我们的测量结果显示性能提高了约 40%。

【讨论】:

我在检查 Android 源代码时找不到任何证据。

以上是关于为啥在 Android 4.0 上的 INSERT 和 UPDATE 速度较慢?的主要内容,如果未能解决你的问题,请参考以下文章

Android 4.0+ 上的 Google Cast

Android 4.0 长按上的PhoneGap html5 应用

Apache HttpClient 4.0 无法在 Android 上的套接字超时

Cordova 4.0 上的 Android 片段内的 Cordova webview

Android 2.3 和 Android 4.0 上的联系人照片 uri

以编程方式清除 Android 上的 Facebook SDK 4.0 会话