OSDN Git Service

Add "call" method on ContentProvider.
authorBrad Fitzpatrick <bradfitz@android.com>
Fri, 5 Mar 2010 01:48:13 +0000 (17:48 -0800)
committerBrad Fitzpatrick <bradfitz@android.com>
Fri, 5 Mar 2010 20:08:39 +0000 (12:08 -0800)
commit1877d0158b529663b8315482e7346a7bcaa96166
tree5194b59937b70c2f48366f27a4458d4043957d16
parentcd47f11dfad012be1b176ea06904a00da157ed7b
Add "call" method on ContentProvider.

This permits implementing interfaces which are faster than using
remote Cursors.  It then uses it for Settings & SettingProvider, which
together account for ~50% of total ContentProvider event loop stalls
across Froyo dogfooders.

For fetching Settings this looks like it should reduce average
Settings lookup from 10 ms to 0.4 ms on Sholes, once the
SettingsProvider serves most gets from in-memory cache.  Currently it
brings the Sholes average down from 10ms to 2.5 ms while still using
SQLite queries on each get.
core/java/android/content/ContentProvider.java
core/java/android/content/ContentProviderNative.java
core/java/android/content/ContentResolver.java
core/java/android/content/IContentProvider.java
core/java/android/os/Bundle.java
core/java/android/provider/Settings.java
packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
test-runner/src/android/test/mock/MockContentProvider.java
test-runner/src/android/test/mock/MockIContentProvider.java