I'm looking to use internal memory to store my cache files instead of external storage. The main reason is that I need my app to function even if external storage is shared with a computer.
The dev docs say "You should always maintain the cache files yourself and stay within a reasonable limit of space consumed, such as 1MB.". Is this text just too old? Devices I've seen in the last 12 months have hundreds of megabytes of internal memory (tablets can have gigabytes - and I'm not confusing different types of storages here).
Even a decent thumbnail on a large screen can easily be around 20-30kbytes and you can display 50 thumbnails on the screen at once. If you do some scrolling, you'll be using way more than 1MB.
Do you guys think I can go with let's say 10 megs (not going higher, maintaining it properly)? Do you know about any Google App or other popular app that maintains way larger cache in internal storage than 1MB?
Edit: I'm asking about this type of memory: http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
Devices I've seen in the last 12 months have hundreds of megabytes of internal memory (tablets can have gigabytes - and I'm not confusing different types of storages here).
Newer devices have more storage. Older devices have less storage. By only supporting newer Android OS updates, you will tend to have devices with more internal storage. And, starting with Android 3.0, internal and external storage work from the same space (external storage is effectively a subdirectory within internal storage) and external storage should always be available.
Do you guys think I can go with let's say 10 megs (not going higher, maintaining it properly)?
On Android 3.0 and higher, sure.
On Android 2.3 and higher, maybe.
On Android 2.2 and lower, I wouldn't.
And, in any of those cases:
ACTION_DEVICE_STORAGE_LOW
broadcasts to trim your cache