SharedPreferences
очевидно реализован внутри как XML-файл, который сериализуется и полностью десериализуется при обновлении.И это хранилище Key-Value без индекса.Так что используйте это только для простых данных, связанных с вашим приложением.Более 50 ключей, и вы, вероятно, перестарались.
ContentProvider
предназначен для обмена данными между приложениями.Вы прямо сказали, что не хотите этого делать.
SQLiteDatabase
предназначен для отдельных приложений для хранения данных и обеспечивает большую гибкость для хранения и индексации данных различными способами.Я лично использую его для хранения журналов в одном из моих приложений.Я бы рекомендовал этот маршрут.
Другой вариант - войти в обычные текстовые файлы, хранящиеся в хранилище файлов.