A week back I got a Milestone from someone. This guy was running Android Eclair 2.1 on his Milestone, and wouldn't upgrade to Froyo because of the bad stuff he heard about it.
The phone was barely usable even withe Eclair, so the guy comes to me and asks me to do something about it. I blackmailed him into leaving his device with me for a couple of weeks so I would give it the full treatment.
The main problem was that he had his phone all cramped up with applications, and had no more free memory on the phone's storage.
First thing I noticed that really bugged me, was the homescreen. Almost every time I opened an app, when I returned to the homescreen th homescreen restarted. Weird right?
So I search some forums trying to find something to fix this problem. And I did. The problem was that having just 256MB of RAM, the system was running out of memory and started closing apps. Unfortunately the first to go was the homescreen. So the solution was to set a higher priority to the homescreen. In order for that to happen I had to root the phone. Eclair is pretty easy to root, so I downloaded z4root and ran a permanent root on it.
I had to enable USB Debugging first, in order for z4root to work. To enable USB debugging you need to go to Settings->Applications->Development and there you can find the USB debugging option. Next thing I did was to edit a file located on your phone. The file is /data/local.prop.
First I installed a terminal emulator from the Android market. When you start the terminal you need to get root access, so you run this command:
This command elevates your user rights to root level. Press Allow when the Super User application asks. So now you can access any file on the phone. Next command is to copy the file to your sd card:
cp /data/local.prop /sdcard
Now you need to edit the file, but unfortunately the Milestone does not have an integrated file editor so you need to install yet another software from the Market. This time you need Astro File Manager. After installing, open Astro an go to you /sdcard folder. Here you will find the local.prop file(you might not see the extension, but if you find a file called "local", that's it). Long press the file and select Open As. Next, another popup will appear where you need to select "Text File" and then Text Editor or File Editor. Anyway, you are now editing the file with a text editor. Now add the following line at the end of the file:
This line practically tells Android that the homescreen has priority 1, which means it's going to be probably the last application killed in case the RAM runs out. You could set the value to 0, but I wouldn't recommend that because the homescreen will never close, and that may lead to forced quits for memory hungry applications. The only time the homescreen restarted on me was when I was downloading/installing about 10 apps at the same time from Market and was still searching for more. And it only happened once.
The homescreen problem was fixed so th next big problem was the internal storage. Since Eclair didn't have the capability to run apps from the SD card I had to upgrade to Froyo. I didn't want to install some custom ROMs on it because the owner is not tech savvy so having a custom ROM would only get in the way. After upgrading to Froyo using the Motorola Software Updater, I lost root, but it wasn't a big deal, because the local.prop file I edited was still there, so the homescreen caused no trouble at all. I eventually switched from the classic homescreen to Zeam. Why? Because it offers a scrollable dock, and it's more RAM friendly than the default home. I found that out using Super Task Killer 2011. While the Home app ate up to 20MB of RAM, Zeam never got over 14MB with the same number of homescreens, the same amount of widgets and shortcuts. I disabled Zeam's app drawer animation (looked silly to me to be honest).
So after all this searching and tweaking I had an unrooted, totally usable Froyo. I moved a lot of apps to the SD card and the overall system speed improved a lot.
The Milestone has a 600MHz A8 Cortex CPU, under-clocked by Motorola to 550MHz. As you can imagine, on a high resolution screen running Froyo, the low speed CPU lags from time to time. If you're a casual user, you won't care about that, but if you're a heavy user like I am, it will annoy you. So I decided to go forward with the tweaking and see it I can squeeze some more performance from the Milestone.
Now, if you don't want any warranty problems with Motorola, you should stop here. Pay attention! THE FOLLOWING STEPS WILL VOID YOU WARRANTY! I won't be held responsible if you choose to continue.
What I've done so far did not involve any flashing, because as you remember we rooted Eclair with z4root, which does not work on Froyo. So first you have to flash vulnerable recovery on your phone, and root your phone. If you don't know how to do that yourself, here's a tutorial:
Root your Milestone Froyo
After gaining root access, you can overclock your Milestone. As I said before these procedures may harm your phone, so continue at your own risk.
First download an app called Milestone Overclock from the Market. When you run the app first, you will notice that you're unable to overclock the phone, at least for the moment. Press the "Load module" button. Now you can clock you phone to 600MHz, 800MHz, 1GHz, and even 1.2GHz. However, the highest stable frequency seems to be 800MHz. I don't recommend you use the custom presets because I somehow managed to enter an infinite crash/reboot loop that I was only able to fix from the recovery by manually deleting Milestone Overclock. Stick with the defaults and it should work without a hassle. I ran the phone for a week at 800MHz and I had no problem whatsoever with it. Check the "Apply at boot" box if you want to overclock your phone on boot.
After clocking the Milestone to 800MHz, I noticed that the scrolling lags have disappeared, also the phone no longer choked when in-app advertising popped over Angry Birds for example. The phone ran smoothly. One thing that still bothered me was the fact that the apps were starting almost as slow as before, so I started searching again for an answer. And again I found it. The problem was not a related to the apps startup in itself, but with the starting and closing animations. So I disabled the animations, and everything seemed much faster. After a while though I started missing the animations so I turned them back on. I found an app called Spare Parts on the Market that allows you to tune-up the animations and many other things. I installed and ran it. I choose the Fast speed on all animations, and the phone seemed much snappier than before, with animations and all.
So that's kind of it. Let me know if you have any thoughts on this.