I've been playing around with different things - and it seems that installing AutoKiller has helped a ton.
But so far - after installing AutoKiller - it has helped. Can someone explain to me what it actually does?
Back in the bad old days before the Eris was rooted, there was a raging controversy (here on AF in the Eris forum); you can find huge threads with titles such as "Do I need a Task Killer", or "Why you don't need a Task Killer".
Buried underneath those piles of postings, you will find an observation or two that Android has a built-in "Task Killer". (Sometimes it is referred to as "LMK" - Low Memory Killer) It is far, far, more sophisticated than most of the Market app task killers, and
it is "parametrized" with a bunch of memory threshold values.
A little bit of background information is required to understand this issue well, and here it is: every modern operating system uses RAM memory to perform "file caching". When writing files is involved, rather than waiting for slow devices such as disk drives or flash memory to complete their operations, files are written to "free memory" (RAM), and so the programs that are doing the writing appear to run quite quickly, because the RAM can be 100 to 4000 times faster than the slow storage devices. In the "background", the OS will continue to write the data to the slow device at a leisurely pace, while running other applications. For file read operations, files that have been recently read are also kept in (RAM) memory for a while - so if a program happens to repeatedly read one or more files, that operation is blazing fast, because reading from the slow device only occurs once.
But, there is a fixed amount of RAM, and it is also used to store the executable code that user programs and system applications need when they are running. The more and more programs that are using memory - the less "free memory" is available for file caching.
No doubt you have noticed the delays associated with starting up applications; but if they are already running, they "pop up" quite quickly. So, there is this delicate balancing act that an Android device maker needs to accomplish, and it is this: They want "important stuff" to be running all the time, so the phone does certain things quickly (from the user's perspective); on the other hand, if you decide that too much stuff is "important", there will be little room left over for other apps and that all-important "free memory" for file caching operations.
Now, back to the built-in Android Low Memory Killer (LMK). When the LMK works well, it works very well. The $64,000 question, back in the days before the Eris was rooted was this:
"Did HTC choose the right set of threshold parameters for the Android LMK?"
The answer is subjective, of course; it depends on what apps & how many you like to most frequently use. The problem was - because the phone was not rooted - you couldn't change those "threshold values" that the Android LMK uses to decide when to kill off processes (applications). So, many people that used a lot of apps found that the phone seemed sluggish to them, and that sluggishness was improved by using a "Task Killer" app.'
My own opinion is that HTC chose threshold values that were a little too low - in almost every ROM that I have used, I notice the phone getting slower any time the free memory drops below about 30-35 MB. And it was pretty trivial to get the stock HTC releases to go there.
So here's what the root application "Autokiller" does: it allows you to tune those memory "threshold values" of the built-in Android LMK. That's it. There are a whole lot of values that can be tweaked - in fact, so many that it is intimidating. The LMK divides processes up into different behaviors: are they a "background task"? Are they a "service routine"? Are they currently displaying things on screen? Is it idle, or running? It then compares the "free memory" to the various threshold values, and decides if it should notify apps that they need to shut down (or kill them in a violent fashion), starting with the "least important" tasks first.
So, what you will find (if for instance you use the "preset" values), that as those threshold values go higher and higher, you phone will seem to be snappier, because there will be more free memory available. The downside to this is that applications will spontaneously "crash" - even the home screen launcher will get killed off by the LMK. So, "snappy" will only apply to the apps that are able to stay in memory, and other things - like the home launcher re-starting - will start to seriously annoy you.
As a practical matter, there seems to be a single application which totally dominates memory consumption on the Eris, almost independent of the ROM you are using: the browser application. Use a task kill to manually (not automatically) kill it every so often. If you find the phone is sluggish, kill the browser off first. (You can re-start it right away - it tends to accumulate memory if it has been running a long time.)
Phew! Another novel. Hope it made sense.
eu1