[G1 Android Development] ttabbal:
Well, my observations are based on somewhat detailed understanding of x86 and ARM architecture, and various OSes that run on them. Windows from 95 on (and maybe 3.1, but I don't think so, been too long), Linux, most commercial UNIX systems, and OSX.

Android isn't so different. It's a change to the kernel to auto-kill processes as RAM runs low with a priority setting. BFD. The basic Linux memory management system is still there, there's just an extra layer. Swap does exactly what I said it does, even on Android. Without adjusting the Android task killer settings, swap use can grow out of control and make things slow down too much. That's why I recommended AutoKiller, that's what it does. Then you tune it a little to take into account the changes if you like. I believe I'm using the "aggressive" preset. Perhaps with a few changes.

You can tell me it's bad all you like, but real-world experience tells me otherwise. On a phone with more RAM, I wouldn't bother with it, and probably wouldn't need it. However, since manufacturers are cheaping out on us, this is the next best way to deal with it. A G1 just doesn't have the RAM to deal with the updated OS and a few apps. However, much of the data is not frequently accessed, and a small performance penalty for paging it back in occasionally isn't so bad. It seems to make a particularly big difference for the built in browser.

For the record, I've written kernel level paging code. I have a fair bit more "clue" than you seem to think. And yes, I've read the Android task killer code and understood what it does.

I think you will find that your arguments carry more weight when you aren't screaming and name calling. Rational logic is far more interesting to me than messages like the above.

There, I've said my bit and see no reason to keep arguing about it. I am "eating my own dogfood" as it were and the settings I described are running on my personal G1 that I use every day. I have a few days hard use with CM5-test1, without reboots, with those settings and performance has held up very well. Every system is faster right after a reboot, so I would expect it to slow a little over time. The important bit is to have it not keep getting slower, you want it to level off, and this setup seems to do that.

I don't understand people getting so emotional over it. It's not like I'm telling people that connecting the battery directly to 240VAC is good for it. Nothing I have mentioned will cause any permanent harm to the device. It's easy to try it and see what happens. If it works, keep it, if it doesn't, toss or tweak it. There are a ton of settings that you can work with if you like, and as I mentioned, everyone is likely to see different performance with various settings as they run different apps and such. You don't even have to reboot to test the changes, if you don't mind playing on the command line a little. "swapoff /dev/block/mmcblk0p3" there, no more swap. Change "swapoff" to "swapon" to enable swap. If you like it that way, set up the scripts that enable swap at boot (or not) and call it a day. From some of the responses, you would think I'm running around talking about screwing people's moms. :eek:

We're playing with our phones, it's supposed to be FUN! :D