Hello Mi fans!
Today I will try to explain to you the value of the settings for the developer. For what exactly is responsible for each item.
Activate developer settings:
Firstly, you need to activate developer settings. To do this, go to the settings, find "My device", tab "All specs" , "Miui version" field and several times often tap on it. After that, in the additional settings there will be a new item, which will be called "Developer options".
Desktop backup password:
Sets a backup password so you can use adb commands to back up and restore device apps and data under password protection.
During charging, the screen will not go out, so the device will not be blocked.
Skip screen lock:
Go directly to Home screen, If you have a password or pattern or a fingerprint to lock the smartphone, this function will not work.
Bluetooth HCI snoop log:
Sometimes, a developer (or security specialist) will need to capture and analyze Bluetooth HCI (Host Controller Interface) packets. Enabling this will place them in a file on the device storage (/sdcard/btsnoop_hci.log) for retrieval.
The item makes it possible to unlock the bootloader. It does not unlock, but only allows you to do it. But if you do not understand this, then it's also better not to do it and pass by this point. Moreover, if you unblock it, then the protection functions will not work on the device.
Here we can select an environment for displaying web content.
Automatic system update:
If you enable this settings you device install update automaticaly. Without enabling, you'll need to tap the restart button in updater to install update. With this option you need no confirmation in updater.
Mi Unlock status:
In this menu we can check status of the bootloader, and also add an account and device for later unlocking.
Shows demo icon in status bar.
Quick setting developer tiles:
Add new toogle to the notification shade (animation, RTL layout, GPU rendering and other)
Debugging over USB is needed in order to be able to establish a connection with a computer using Android Debug Bridge. Typically, this is required to get root-rights and modify the firmware.
Revoke USB debugging authorizations:
When you use a computer to debug over USB for the first time, you have to authorize it and set up a keypair. This setting revokes all those actions and forces you to do it again.
Install via USB:
Allows installing apps via USB.
USB debugging (Security settings):
Simulation for input method. Тhis setting gives permission to your PC for further action. Example: you can control the smartphone directly from the PC or write text.
Force full GNSS measurements:
Global Navigation Satellite System - GNSS measurements as well as tools are used to log and analyze GNSS data.
Enable view attribute inspection:
Saves view attribute information in the mAttributes member variable of a View instance so it can be used for debugging. You can access the attribute information through the Layout Inspector user interface, as shown in Figure 4 (without this enabled, the "Attributes" item is not available).
Select mock location app:
In Android, you can change your location at the program level without going away. In some games, or applications, it can come in handy. This can be playing friends, or deceiving someone about their location. In any case, all this can be done. To do this, you need to download some applications for "Fake GPS" and configure it in a new position. Then, in the "Select an application for dummy locations" item, select it.
Select debug app:
This setting lets you choose an application to debug. You don't really need to attach it to a debugger, but if you do it prevents error messages when paused on a breakpoint. If you don't understand what this means, you'll never need to use this setting and probably shouldn't. It's built for use with tools application developers use to make sure their app runs as intended.
Wait for debugger:
This setting is greyed out unless you've set an app to debug. When set up and selected, it simply prevents the chosen application from starting until the debugger is attached. This is more application debugging stuff, which most of us will never need.
Verify apps over USB:
Allows Google to scan applications you installed via ADB for malicious behavior.
Enable GPU debug layers:
Available on devices running Android 9 (API level 28) and higher, enable this option to allow loading Vulkan validation layers from local device storage.
Wireless display certification:
Enables advanced configuration controls and settings for Wireless Display certification to the specifications set forth in the Wi-Fi Alliance Wi-Fi Display Specification. The certification applies to Android 4.4 (API level 19) and higher.
Enable Wi-Fi verbose logging:
Increases Wi-Fi logging level for each wireless network (SSID) you connect to according to its relative received signal strength (RSSI). For more information about logs, see write and view logs with Logcat.
Turn on WLAN coverage extension:
After you enable this option, connect to a WiFi network, go to the network settings, click the gear icon next to your connected WiFi network, then click the pen on the top, swipe down 'advanced options' and click 'extend wifi coverage'. Now your phone works as WiFi extender. (Didn't test on MIUI)
Mobile data always active:
To quickly switch between networks, you can activate a value that will allow you to continue data transmission through the mobile network, even with an active Wi-Fi connection. In this mode, it will be easier and faster to move from one network to another.
Default USB Configuration:
In this step, you can configure what we set up in the notification curtain when the phone is connected to a computer. Namely the operating mode of USB. But in this case, you can choose not just the value, but the default value.
Disable the absolute volume:
This item allows you to turn off the absolute volume of Bluetooth when there are problems on the remote device. It means, for example, too loud sound or impossibility of its adjustment.
Bluetooth AVRCP version:
Select the profle version you want to use to control all of the Bluetooth A/V equipment to which your device has access. Addiitonally, to fine-tune the audio playback on the device, tap and set the following options:
Bluetooth Audio Codec:
Adjust the sound quality (codec) of your devices by selecting one of the following codecs:
Enable Optional Codecs and Disable Optional Codecs:
If you have additional codec implementations installed, use these options to enable and disable them.
Bluetooth Audio Sample Range:
Adjust the number of audio samples per second by selecting an audio codec sample rate. Higher sample rates use more resources.
Bluetooth Audio Bits Per sample:
Set the number of bits of information in each audio sample. With a higher the bit rate, the sound is better but the sample file is larger.
Bluetooth Audio Channel Mode:
Select mono or stereo.
Bluetooth Audio LDAC Codec:
Optimize the sound to increase audio quality, balance audio and connection quality, increase connection quality, or use an adaptive bit rate to balance audio and connection quality.
Select this to see a visual cue on the screen when and where a touch was registered.
This setting places an information bar at the top of your screen telling you the screen coordinates of the last place the screen was touched.
Show surface updates:
Makes the edge of a "window" flash when its contents are updated. Annoying as hell.
Show layout bounds:
Marks the edges of all the elements in a dialog so you know where any touch will activate them. Try this one, then quickly shut it off.
Force RTL layout direction:
Forces screen orientation for right to left language support.
Window animation scale:
Sets the speed for window animation playback. A lower number is faster.
Transition animation scale:
Sets the speed for transition animation playback. Again, lower is faster.
Simulate secondary displays:
This setting allows developers to simulate different screen sizes. It's pretty wonky.
HARDWARE ACCELERATED RENDERING
Set GPU renderer:
Change the default Open GL graphics engine to the Open GL Skia graphics engine.
Force GPU rendering:
Forces applications to use hardware 2D rendering if they were written to not use it by default. Sometimes, this does wonders. Other times, everything goes to hell. Be careful here.
Show GPU view updates:
With this setting, any view that is drawn with the GPU hardware gets a red overlay.
Show hardware layer updates:
When this option is enabled, every update to a hardware layer will result in that layer to be highlighted in green for the duration of the frame during which the update happens. If your application is behaving properly you should only see brief green highlights. The default Android launcher is a good example of how layers should behave. Open the list of applications and swipe between pages to observe the proper behavior.
Debug GPU overdraw:
Overdraw happens every time the application asks the system to draw something on top of something else. This setting lets you see when and where this is happening so you know if it is a problem.
Force 4x MSAA:
This setting forces multi-sample anti-aliasing (MSAA). Like any other computer graphics hardware, more AA makes things look better, but performance takes a hit.
Simulate color space:
Change the color scheme of the entire device UI. The options refer to types of color blindness. Choices are Disabled (no simulated color scheme), Monochromacy (black, white, and gray), Deuteranomaly (red-green), Protanomaly (red-green), and Tritanomaly (blue-yellow). Protanomaly refers to red-green color blindness with weakness in red colors, and Deuteranomaly (shown in figure 8) refers to red-green color blindness with weakness in green colors.
Debug non-rectangular clip operations:
Turns off the clipping area on the canvas to create unusual (non-rectangular) canvas areas. Normally, the clipping area prevents drawing anything outside the bounds of the circular clipping area.
Disabling USB Auto routing:
Disable automatic routing to external audio devices connected to a computer through a USB port. Automatic routing can interfere with apps that are USB-aware.
Strict mode enabled:
This setting flashes the screen when an application uses the main thread to perform long, intensive operations.
Profile GPU rendering:
This setting can either draw a graph on the screen, or write it to a file. The graph is a visual rendering of how hard the GPU is working. This is another really neat one to try.
Don't keep activities:
This setting destroys (as in, forces everything closed) any and every application as soon as you leave the main view. Nothing good can come of this, regardless of what you might have heard on the Internet.
Background process limit:
Allows a custom setting of how many process can run in the background at once. Most of users shouldn't be fiddling with very often, if at all.
Memory optimization it clearly means cleaning memory. To make phone run more smoothly.
Show all ANRs:
This setting makes every process show an "App Not Responding" dialog if it gets hung — even background processes that the user did not start. Useful if one application is interfering with another.
At this point there is a built-in manager of inactive applications, which will allow to regulate their activity.
Force allow apps to write on external storage:
If you do not have the ability to install on an external drive for the application, then activating this item will allow this to happen regardless of the application's "desire". But do not forget that often applications do not just refuse to install on an external drive and for this there are reasons. Therefore, if you activate this possibility, be prepared that something can go wrong.
Force activities to be resizable:
The setting allows you to change the size of windows in multi-window mode, regardless of whether it is compliant with this application. Again, if the developer was against it, then for sure, he did have reason for it and and it's better not to climb into it.
Rate-limiting during testing so background apps can continue to call shortcut APIs until the rate limit is reached again.
Thanks and best regards!!