Производительность Android ContentProvider
Мне интересно, если кто-то выполнил любое тестирование производительности при запросе ContentProvider
через ContentResolver
vs, запрашивая объект SQLiteDatabase
в том же процессе. Я предполагаю, что запрос ContentResolver
возвращает курсор, который связывается с базой данных через Binder (Android IPC). Это означает, что если я прочитаю содержимое 100 записей через Cursor
, что приведет к вызову 100 вызовов Binder. Правильны ли мои догадки, и если бы это было значительно медленнее, чем доступ к базе данных в том же процессе?
Ответы
Ответ 1
Я не сделал именно этого опроса. То, что я сделал, - это измерить производительность нескольких вложений через ContentProvider или напрямую через базу данных SQLite.
Я вставил около 1000 предметов (один за другим). С помощью ContentProvider было гораздо медленнее вставлять их. В моем тесте почти на 10% медленнее.