[Galaxy S II General] titanic_fanatic:
Tips & Tricks

Tips and Tricks

APN

Use the Bell Flex APN. You can select it by going to:

Settings -> Wireless & Networks -> More -> Mobile Networks -> Access Point Names

This helps fix some issues with VPN and some other system services.

Governor & I/O Scheduler

The Interactive governor does not work well on this ROM, so you must change it to "OnDemand" and the I/O Scheduler to "Deadline". To do this, got to Settings -> About Phone and tap on Build Number 7 times to activate both the Developer Options and the Performance settings. Then go to Settings -> Performance and change the Governor and I/O Scheduler as mentioned above. Do not forget to check the box for "Set at boot" so that it gets set every time you boot the phone.

Logcat what is it and how do I get one?

A logcat is the system log of events that occur on your device. This log provides the developers with some useful information pertaining to crashes and other bugs you may encounter while using the ROM and/or apps running on the ROM. Getting a logcat is generally a very simple thing. Just open your terminal emulator on your phone and type the following commands without typing the $ as it denotes a command on the command line:

The first command above will ask you to grant superuser permission to the terminal emulator which you must accept. The second command will create a file at the root of your sdcard called logcat.txt and then start writing the logs to this file. Since the logcat is a continuous function, your terminal emulator will not return you to the command prompt after the second command as it will continue to write logs until you stop it by pressing the x to close the emulator.

If you are experiencing an issue with an app, then you need to do the steps above to get the logcat recording, then press your home button so that you don't close the emulator, but put it in the background. Then you do the action that causes the bug to occur and then open the emulator and terminate it to stop the log from writing. this ensures that the error is located somewhere around the end of the log and makes it easier for us to spot ;)

What is dalvik-cache and why do I need it?

To explain dalvik cache, you must understand how an app is pieced together. An apk (android app) is like a zip file and contains a bunch of files inside. Two important files to note are the resources.arsc and the classes.dex files. They are compiled versions of the resources (images, sounds, xml files) and classes (source code files) of the app. When android boots into a ROM for the first time, and everytime you install an app, the system performs an optimization called dex optimization which means that is pulls the dex file out of the app and places it into what is called your dalvik cache. The system can then pre-load these dex files and allow the app to start quickly.

Dalvik cache is stored in two locations, at /data/dalvik-cache for user apps and at /cache/dalvik-cache for system apps. We unfortunately have a very small partition for /cache, only 100MB and this sometimes causes a side effect on first boot where it fills up to much with apps that only ever run on the first boot to setup the system and then other dex files cannot be written to the /cache partition which causes them to Force Close (FC). The trick in this situation, is to bear through the FC messages to get the system to the home screen, then reboot into recovery and Wipe Dalvik Cache from the Advanced sub-menu. This will delete all the dex files in both locations I mentioned above and will force the system to regenerate them upon reboot, and this time, those 1-time running apps don't start up and don't end up being optimized which allows the necessary dex files to be created for the apps that were FC'ing.

I have moved what I could from the system partition to the data partition to spare some extra space on /cache but this still sometimes happens, especially as the ROM's get slightly bigger every new major version.