Câu hỏi này có một câu trả lời được chấp nhận, nhưng tôi nghĩ có nhiều điều để nói về chủ đề này - liên quan đến tốc độ.
SharedPreferences và Sqlite DB của ứng dụng đều chỉ là các tệp, được lưu trữ trong các thư mục của ứng dụng trên hệ thống tệp của thiết bị. Nếu lượng dữ liệu không quá lớn, tùy chọn Sqlite sẽ liên quan đến một tệp lớn hơn và phức tạp hơn với nhiều chi phí xử lý hơn để truy cập đơn giản.
Vì vậy, nếu bản chất của dữ liệu không quyết định lựa chọn của bạn (như được giải thích trong câu trả lời được chấp nhận) và vấn đề tốc độ, thì có lẽ tốt hơn là bạn nên sử dụng SharedPreferences.
Và việc đọc một số dữ liệu thường nằm trên đường dẫn quan trọng để hiển thị hoạt động chính vì vậy tôi nghĩ tốc độ thường rất quan trọng.
Một suy nghĩ cuối cùng liên quan đến tốc độ và hiệu quả - nếu bạn cần sử dụng cơ sở dữ liệu Sqlite cho một số dữ liệu có cấu trúc thì có lẽ sẽ hiệu quả hơn khi lưu trữ tùy chọn người dùng trong cơ sở dữ liệu để bạn không mở tệp thứ hai. Đây là một xem xét khá nhỏ - có lẽ chỉ đáng xem xét nếu bạn cần truy cập cả dữ liệu có cấu trúc và tùy chọn trước khi bạn có thể hiển thị hoạt động chính.