For those who don’t know’ there’s a set of options hidden inside your settings. It is called ‘Developer Options‘ and it can be un-hidden by tapping on ‘build number’ several times. Most of us use it just to enable or disable ‘USB Debugging‘ or change the runtime from ‘Dalvik’ to ‘Art’ whilst most of us don’t use it or don’t know about it at all. There are plenty of options inside it which may be useful to some of you. Here’s a brief walkthrough on the options Inside Android’s Developer Options.
Note: The options inside Developer Options of several custom ROMs may have more and extended options but the basic options are the same.
Take bug report:
This option is often used by developers and beta testers. What it does is it takes the logs of processes currently running in our device. When the bug report is captured, you can send it to whoever it was meant for (like the developer of the app or ROM).
This option may not be available on every firmware but it is common on custom firmware like Cyanogen Mod. When you enable this option, the power menu (the menu that appears when you long-press power button) will show additional options like rebooting into recovery, rebooting into bootloader, sort reboot, etc.
Desktop background password:
This option is used to encrypt the backup file created using ADB. Such backup files cannot be restored without the password that was used to encrypt it.
Enabling this option forces your device to keep its screen on when it is connected to the charger or to PC using USB.
Enable Bluetooth HCI snoop log:
This option is particularly useful for a developer. It is used to capture and analyze Bluetooth HCI (Host Controller Interface) packets. It will place the log file in the root of sdcard (/sdcard/btsnoop_hci.log).
This option is also often used by the developers. It’ll show a lot of numbers which is not understandable for common users but for a developer, it is full of information.
This is the main reason why most of us even bother enabling the developer options. Enabling this option allows for a device to communicate with your PC over one of the USB port through the ADB or Android Debug Bridge. Sometimes, on some firmware, it is written as Android Debugging. Under it, there are other options like ADB over a network which enables TCP/IP debugging over a network (Wi-Fi, USB) and the option to change the hostname.
This option revokes the authorization and the keypair used to setup the computer for the first time you’re debugging via USB.
Enabling this will put an option to grab log on your power menu (accessed by long pressing power button). This will be very handy if you’re a beta tester.
Allow mock locations:
This option allows you to make your device to think it is somewhere else by letting you manually enter location information.
Select debug app:
This option is intended for use by developers who are there to make sure their app runs the way it’s intended to run. It will let you choose the app to debug. ‘Wait for debugger’ option is also the part of it and it will be greyed out until you select the app to debug.
Verify apps over USB:
This option is for security which lets Google scan the applications you’ve installed via ADB if make sure it’s safe and non-malicious. I recommend you enable this option.
Enabling this option lets you see where your finger touched the screen.
This option put a graph on your screen and lets you see the coordinates of the last place your finger touched the screen.
Show surface updates:
Makes the edges of a window flash when its contents are updated.
Show layout bounds:
This option makes the edges of elements on the screen visible so that you know where to touch in order to activate the particular element.
Force RTL layout direction:
Enabling this forces the screen orientation for the right to left language support.
Window animation scale:
This enables you to set the speed of the window’s animation. Lower is faster.
Transition animation scale:
This enables you to set the speed of transition animation. Lower is faster.
Force GPU rendering:
This forces 2D drawing to use GPU while rendering. I always use this option and you should too.
Debug GPU overdraw:
This option lets you see when and where an overdraw is happening. Overdraw happens when an application draws something on top of something.
Force 4x MSSA:
MSSA stands for Multi-Sample Anti-Aliasing. This is a popular term among gamers and designers. This makes the graphics a bit better but degrades the performance.
Strict mode enabled:
This option makes the screen flash if any application is accidentally using things like disk I/O, network access etc. using this option allows the developer to fix those issues to avoid ANR (Activity Not Responding) dialogue.
Show CPU usage:
Enabling this makes a tiny window appear in the upper right corner of your screen which displays the information about the CPU and how much is it being used.
Profile GPU rendering:
This option shows the usage of GPU. You can either make it draw a graph or save the log into a file.
Enable OpenGL traces:
This options watch for OpenGL errors and saves them in a log file.
Don’t keep activities:
This option is mainly used to free up RAM but it seriously affects multi-tasking. It will force close and application when you leave its main view.
Background process limit:
This option will enable you to set the number of processes that are allowed to run in the background. This option is also used to free up RAM while reducing the device’s multitasking capabilities.
Show all ANRs:
This option makes every process show an ‘App Not Responding dialogue when it gets hung.
This explains most of the options inside the ‘Developer Options’. Clearly, most of these options are not needed for a regular user and taping in them without knowing the consequences can sometimes make your device unusable.