Okay, I really, just have to vent about this. Somehow, in the Google-perceived history of the internet, nobody has ever actually labeled the Dalvik-Cache system/folder/"bug" as a fatal design flaw in the Android architecture? Really? It's pretty obvious in my opinion...
Think about it. Dalvik-Cache is a folder that:
(EDIT: Please jump to THIS post: http://androidforums.com/2476499-post69.html to see where we stand in this discussion at the moment)
It's just mind-bogglingly ridiculous... especially on as hardware-limited phone as the Ally, I would expect (not just "hope") that a folder titled "cache" of any kind would have limitations imposed on it. To have the effect of hardware limitations be "slower performance", i.e. the phone would have to re-generate Dalvik-cache entries for rarely-used apps it had to prune-off due to imposed cache limitations... that would make sense. But no... it has no limitations, and very frequently overruns the amount of storage available to the user.
Before I rooted, I found myself constantly out of storage, with a small number of apps installed. It didn't make sense... it first occurred to me when I worked to manually tally up the reported amount of storage each app took up. The amount totaled up to about 25MB for all my apps. So why, if I have 150MB of storage, do I have 15MB free? I found it: 80mb in Dalvik-Cache, and the rest is app data. WTF? 80MB of cache for 25mb of apps? Cache - that is, something that can be re-generated with zero penalty of lost data? Can we be serious here? Why isn't this cache being maintained by the OS? Why is it permitted to balloon to 75% of user-data space, completely unchecked? And no way to clear it, without erasing all data by doing a factory reset. So it's a ticking time-bomb that will eventually fill the device's onboard memory even with no apps installed (all uninstalled).
I understand the purpose of Dalvik-Cache. To place an optimized, compiled copy of the apps that run on the Android OS. That makes sense. But with there being no maintenance of this folder, free-wheeling in the same way as MSIE's "Temporary Internet Files" folder (which has obscene limitations and often stores upwards of 30,000+ useless, outdated cache files with little to no maintenance, and is often the source of computer slowness on IE-users' systems)... it's an OBVIOUS design flaw that really should have been caught and fixed before Android even made it into production.
[/rant]
edit: Final statements on this wildly out-of-control discussion: http://androidforums.com/lg-ally/30...-just-boneheaded-oversight-2.html#post2476584
Think about it. Dalvik-Cache is a folder that:
- is at least 1.0 times the size of all installed APKs (often more than 1x, as below)
- does not get cleaned-up - EVER - by the Android OS
- is transparent to the user, just mysteriously consuming space on the phone
- lives in the USER data structure (on-phone storage), instead of on the cache partition
- has absolutely no facility for any utility apps, or for the user, to clean up the mess in the folder
- can only increase in size, since if an app is uninstalled, its corresponding (and equally large) dalvik-cache entries do not get erased
(EDIT: Please jump to THIS post: http://androidforums.com/2476499-post69.html to see where we stand in this discussion at the moment)
It's just mind-bogglingly ridiculous... especially on as hardware-limited phone as the Ally, I would expect (not just "hope") that a folder titled "cache" of any kind would have limitations imposed on it. To have the effect of hardware limitations be "slower performance", i.e. the phone would have to re-generate Dalvik-cache entries for rarely-used apps it had to prune-off due to imposed cache limitations... that would make sense. But no... it has no limitations, and very frequently overruns the amount of storage available to the user.
Before I rooted, I found myself constantly out of storage, with a small number of apps installed. It didn't make sense... it first occurred to me when I worked to manually tally up the reported amount of storage each app took up. The amount totaled up to about 25MB for all my apps. So why, if I have 150MB of storage, do I have 15MB free? I found it: 80mb in Dalvik-Cache, and the rest is app data. WTF? 80MB of cache for 25mb of apps? Cache - that is, something that can be re-generated with zero penalty of lost data? Can we be serious here? Why isn't this cache being maintained by the OS? Why is it permitted to balloon to 75% of user-data space, completely unchecked? And no way to clear it, without erasing all data by doing a factory reset. So it's a ticking time-bomb that will eventually fill the device's onboard memory even with no apps installed (all uninstalled).
I understand the purpose of Dalvik-Cache. To place an optimized, compiled copy of the apps that run on the Android OS. That makes sense. But with there being no maintenance of this folder, free-wheeling in the same way as MSIE's "Temporary Internet Files" folder (which has obscene limitations and often stores upwards of 30,000+ useless, outdated cache files with little to no maintenance, and is often the source of computer slowness on IE-users' systems)... it's an OBVIOUS design flaw that really should have been caught and fixed before Android even made it into production.
[/rant]
edit: Final statements on this wildly out-of-control discussion: http://androidforums.com/lg-ally/30...-just-boneheaded-oversight-2.html#post2476584
Take it or leave it, but this is my final comment in this thankfully-now-slightly-more-sane topic:
The dalvik-cache folder is a cache folder. It generates caches of applications (apk files) that are run on the device. Since these entries are generated on demand, the dalvik-cache should be maintained by the OS at a user- or OS-configured size limit, and prune unused (least-recently-accessed) entries to maintain that size limit. If that application is launched after the cache file is removed, it will simply re-generate the cache file - expected behavior for a rarely-used app. It should not store cache files for rarely-accessed applications in the same way that it stores frequently-used and system applications. And finally, this cache folder should be located outside of user-space, on the "cache" partition, so the user has full control over the data on his or her device. These issues all come to light on low-spec-but-otherwise-useful devices such as the LG Ally, which would not have such a serious storage limitation if not for dalvik-cache.
If anyone wants to argue a single one of the points in the above paragraph, I politely ask that you quote the relevant statement and stay on topic, as to avoid the complete clusterf**k that started off this thread.