1. Extract the package to the folder of your choice [Let's say- C:/android-sdk-windows/], run SDK Manager.exe
2. Close the command / windows command prompt window that opens.
3. In the new window, click on Available Packages
to the left. Untick all options you are prompted to download except the USB driver option. Usb driver option will need and addition package called xxx.revision 5 at the top of the list. So you need to check a total of 2 options.
(Note-If you get an error message at this point, enable “Force https://…” in the Settings. From the list of available packages, select “Usb Driver package”, click on the Install Selected button in the bottom right corner and follow the prompts.
4. Do not open Samsung Kies. Connect your phone to your computer with a USB-cable. Your OS will prompt you to install new drivers. Choose to install them from the android-sdk-windows/extras/google/usb_driver
folder. Do not mount your device; you only need to plug-in the cable.
(If you don't see this prompt like me, well no problem. It might be due to samsung kies already installed.(not sure though)
5. Run command prompt in administrator.
Type in the following after the ">" at each step (without quotations,and including spaces and capital letters)
A $ sign should pop up
"pm setInstallLocation 2"
Another $ should pop up
And your done. Close everything, disconnect phone, turn off phone and then turn it back on again
Note:Now the phone will be set to install all apps you install onto the SD card. However, current apps on phone will mostly still be stored on the internal memory. This process doesn't move these apps for you, it adds the ability. So you must now manually move those already installed on the phone. Install some apps like app2sd etc.
From original Blog entry-
Note:I should point out that it’s preferable to install certain apps to the main memory, since it will take a while before the SD card becomes available when you start your phone. Applications installed on the memory card will also be unavailable to the system each time you mount your phone as a disk drive. The internal storage is probably quicker as well, even though Google claims that “there is no effect on the application performance so long as the external storage is mounted on the device.” In general, apps that integrate with the Android OS and that often run in the background is better to install on the internal storage, while games and most other applications will have no problem chilling outside on your SD.
Widgets should essentially be installed on phone memory.
Hope it helps.
From what I have come to understand (correct me if I am wrong), Each app will store some .odex files on phone memory to speed up the boot process.
So don't complain that phone memory is getting lesser after each install. Though if you could've installed 40 apps before now maybe 150+ and still have 30-40 mb left. (depends on what kind of apps you install).
Darktremor's a2sd scripts deodex the apps and COMPLETELY move the apps and cache to sd card but you will need to root and run the scripts.
Though an easier way will be to install a custom rom.