【问题标题】: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 的版本之间发生了许多变化。我会从那里开始。
  • 您的基准测试脚本可以访问吗?我在你的链接上看不到它们。什么是测试手机?

标签: android performance sqlite android-4.0-ice-cream-sandwich


【解决方案1】:

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

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

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

【讨论】:

  • 我在检查 Android 源代码时找不到任何证据。
猜你喜欢
  • 1970-01-01
  • 2016-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多