Производительность Android ContentProvider

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

Ответы

Ответ 1

Я не сделал именно этого опроса. То, что я сделал, - это измерить производительность нескольких вложений через ContentProvider или напрямую через базу данных SQLite. Я вставил около 1000 предметов (один за другим). С помощью ContentProvider было гораздо медленнее вставлять их. В моем тесте почти на 10% медленнее.