Shared Preferences - max length of a single value
By Romain Guy From the Question Asked Here,
Whatever the maximum length of a Java string is. So something like Integer.MAX_VALUE chars.
I suppose while SharedPreference is an XML file stored with One Tag if you store only One Pair/Object. So there is no limit to write String in that if you think like you are writing in a file..(Theoretically)
But Actually what happens is that, while you are assigning value to SharedPreference using put/get
function at that time you Reading/Writting value in String Object..so the limit becomes to store value at one time equal to Size limit of String Object of Java.
So while writting the code: Limit of SharedPreference String Size = Java String Object Size Limit(Practically)
Shared preference is stored in /data/data/[package_name]/shared_prefs/[app name].xml
, I think there's no limit as per android architecture.
When I trying to save the max length string into the SharedPreferences in my device, it throw a Memory Exception when SharedPreferences data exceed 1.42 MB.
So if you have more than 1.42 MB data size to save its better to save use SQLite database.
According to developer.android.com:
If you have a relatively small collection of key-values that you'd like to save, you should use the SharedPreferences APIs.