In this guide, we will look at Android utilities that perform system diagnostics and optimization functions and allow you to better understand how available resources are being used.

You can be understandably skeptical about all kinds of optimizers, familiar from the time of "tweakers" for desktop OSes. However, it is undeniable that such applications should always be at hand, since the available Android OS tools do not allow you to fully, comprehensively obtain information about processes, perform a number of batch operations, etc.

Key contributors to the review:

Also will be mentioned:

Assistant for Android - a collection of Android optimization tools. This toolkit includes 18 basic system optimization functions. Among them are monitoring, process and task management, junk file cleanup, startup manager, application manager and other components.

The main page displays real-time diagnostic information about the system, these are: processor load, RAM, ROM, free space on the memory card and internal memory of the phone. A number of widgets are appropriate to add to the home screen for quick access to information of interest.

In the "Monitoring" section, the user can unload applications from RAM (task manager) or clear the system of unnecessary data - a cache of temporary system files and installed applications, log files, empty files / folders and other "garbage", the removal of which harmlessly affects the system. In addition, Assistant provides a list of temporary files on the memory card, selections of user files by size, type of information, etc.

The next section of the application is process management. Here you can get information about the types of processes (marked with the appropriate marking), the memory they occupy and the load on the CPU, track the behavior of certain processes - in case there are questions about system performance problems. In accordance with what unnecessary processes can be unloaded from memory.

The third section contains options to optimize the battery consumption of the device. At the top of the screen - network management, brightness, sound, vibration and other options (also available through system widgets). Just below are various service applications useful in system optimization: batch uninstall / install programs, backup, move applications to SD card, autorun manager, file manager, battery and system information, rights settings. In general, as you can see, there is nothing remarkable here, and the main value of the selection is the availability of system functions in one section.

Summary. Assistant for Android is quite a traditional optimizer for Android with a comprehensive set of features. It does not introduce anything fundamentally new and is just a convenient shell for tuning the system. Of the main advantages - a simple interface and the absence of useless marketing additions, batch operations with applications.

The System Info for Android application provides various kinds of service information on the operation of the Android OS, which can be useful for subsequent system optimization. Consider the main functions of this program.

The system panel provides a summary of used space on cards and memory, RAM, operating time, and network information (IP address, type of network connection, etc.). At the same time, it is very strange that there is no data on the processor and its workload.

In the System tab, all information is presented in text form. It is in no way applicable to optimization and, at the same time, provides comprehensive information on the Android system, the hardware component in general: OS, configuration, memory, battery, and other aspects that affect performance.

The next section, Tasks, allows you to view and "kill" unnecessary processes, get information on CPU and memory usage. This section is slightly more useful from a practical point of view, but in terms of convenience it lags behind similar components in similar applications. Sorting is available, but the developer did not provide color coding for processes or their categorization. Therefore, it is difficult to control processes, in fact.

The Apps section contains all installed and system applications. Here you can manage each program individually, but there are no batch operations (such as install and uninstall) as such.

Finally, the Logs section can be useful not only for users, but also for developers who are testing the application and want to extract debug information. Logs are updated in real time, you can save the history to a file.

As an option, a widget can be added to the home screen. Its capabilities are more than modest: it displays information about the battery charge, free RAM memory and occupied space on the SD card.

Summary. Thus, the System Info for Android application will be useful for ordinary OS users, and partly for developers. Rather, it is a tool with an information bias that allows you to track processes and events in the log in real time. There are a few useful optimization options related specifically to the setting.

Elixir 2 is a utility for getting system information, diagnosing a device and adding appropriate widgets to the home screen.

Let's start with the functions that are in similar applications. The Information section contains summary information about the device: available disk space and RAM memory, processor status, battery charge, telephony, current location, screen and sound, operating mode, camera, external devices, etc.

It should also be noted additional functions available through the context menu. Elixir 2 offers features related to each selected component. For example, by selecting a processor in the menu, you can view data about its model, battery usage, change the CPU regulator. Mounting, application management is available for a memory card. Thus, Elixir offers a fairly convenient and logical arrangement of related system functions.

Next in the application is the application manager. This section contains information about installed applications, their space and location. Advanced sorting is available (for example, by code or cache size), there is a text filter. Conveniently, you can enable batch mode and quickly uninstall all unnecessary applications.

One of the more interesting features of Elixir is the Sensors section. Accordingly, here you can get acquainted with the system data and the consumption of the available sensors of the Android device. In addition, you can manually run tests to check their minimum and peak power.

The "Logs" displays the content of the logcat and dmesg files, and you can filter messages (errors / warnings / info). Generated Elixir reports with system information are easy to send by e-mail.

Finally, it should be noted the variety of widgets. To activate and configure them, you need to install an add-on. This and other add-ons (personal, system, administrator, etc.) are optionally installed via Google Play.

Summary. Elixir 2 is one of the most powerful applications in its category and is definitely recommended for installation. Allows you to manage system resources, diagnose the device, system resources. Excellent opportunities for managing system components, competent grouping of functions and the availability of everything you need.

DU Battery Saver is an application for basic system optimization and battery saver. There are no fine settings here, it is very simple and is unlikely to be of interest to experienced users.

On the main page ("Battery"), information about the current state of the battery is available. If your device is charging, you can check the time it takes to fully charge. In addition, some technical characteristics can be extracted from here: temperature, voltage and battery capacity. On the graph at the bottom of the screen, the user can track how the battery was consumed throughout the day, according to the battery level. From this scale, everything is clear, but there is less practical sense in it than we would like to get.

In the "Save" section - management of consumption modes. Profiles have descriptions, so you can understand how you plan to optimize your phone: calls, SMS, Internet, and so on. You can create your own profile from a dozen parameters. Users of the paid version of Battery Saver have access to the so-called. "intelligent" mode: disabling notifications, application management, auto-upload, changing power consumption profiles throughout the day.

The Monitor tab monitors the power consumption of apps and hardware. Here you can clearly see what drains the battery the most, the “culprit” can be turned off.

The Battery Saver app also has other features, but they are less interesting, plus, like other apps from this developer, some features are purely promotional.

When there is not enough free space on the phone, it is most likely to search and delete unnecessary files, starting with the largest, as their size decreases. DiskUsage is a small system utility that helps you visually and quickly determine which files and how much space they take up on a memory card or other source.

The data is displayed on the chart in the form of colored blocks, in proportion to the space it occupies. By clicking on a certain block, you can see the files inside this directory. Thus, it becomes clear where to look for "thieves" of disk space.

Among the additional features of the application - DiskUsage integrates with popular file managers such as OI FileManager and Astro.

One of the most famous utilities for accelerating the CPU and memory and, in combination, an application manager. Contains several useful modules that help clean up the system.

So, "Junk": in this section, you can clear the cache and various temporary files that applications leave behind. In addition, the advanced cleaning mode is interesting - it allows you to identify duplicates and files that take up the most space on the disk.

The Boost section allows you to free up phone memory by unloading applications in the background. In "Acceleration" you can also go to the startup section, which displays the corresponding list of applications that are active and disabled from autorun.

Another useful Clean Master module is the application manager. Here are the applications in the form of selections: recently installed, rarely used, by size, category, and more. You can mark multiple items and delete them in batch mode, which is very convenient. In addition, it is possible to create a backup copy and delete apk installers of applications.

Clean Master pleases with its informativeness in terms of optimization and allows you to be aware: information about used / freed megabytes is constantly displayed at the top of the application. True, visual beauties, animation slow down the application somewhat, and, paradoxically, the speed of the system is temporarily deteriorating precisely because of Clean Master. In addition, the program is replete with additional modules (antivirus, CM Family, etc.), which are not of interest to all users.

In general, the Clean Master tweaker makes a strange impression. Although it contains a number of useful features, the interface is heavy. And with a lack of resources, it is logical that I would not want to overload Android once again.

Application from the developers of the popular file manager ES Explorer. Going into the description, we have a more versatile application than a simple task manager. ES Task Manager allows you to save battery power, clear device memory, unload, block or uninstall unnecessary applications.

In the main section, Optimize, there are 4 buttons that allow you to perform a quick action: unload all applications from memory, clear the cache, optimize memory and reduce battery consumption.

The second section of the manager is the "Task Manager" itself. At the top, the amount of available memory and battery status are displayed, followed by a list of running applications. Through the context menu, you can add the application to exceptions or add it to the list for auto-completion.

You can also note the section on saving electricity. Here you can customize the behavior of Android - enable or disable network connections, set options for the screen, vibration and sound. In principle, the functions of standard system widgets are duplicated here.

Some modules, such as "SD Card Analyzer" and "Applications", are available only after installing the ES Explorer file manager.

Advanced Task Manager is a task manager that is quite predictable in terms of functionality, but a little more convenient than the standard one.

The main screen of Task Manager displays a list of all applications, information about the occupied memory and battery of the phone. In addition, the same information is duplicated in the notification panel and through the widget. Applications can be marked in the list and mass unloaded from memory. In addition, forced unloading from the RAM of the device is provided, you can create exceptions - applications that will not be closed in forced mode.

A number of useful options are found in the Advanced Task Manager settings. First of all, this is auto-unloading of applications of your choice: immediately after turning off the screen, when the application is launched, at a specified interval.

Among the shortcomings of this manager - there is no sorting and detailed information on the processor load for each application. Also, service management is implemented through the system interface, which is inconvenient.

In this article, we will look at how to get information about the phone, sim card, cellular network, as well as display and battery settings of a mobile phone.

Phone and cellular network

The TelephonyManager class is used to access phone, sim and cellular data. Using this class, you can determine the type and state of the phone, the availability of the cellular network and the state of the SIM card.

1. An instance of the TelephonyManager class cannot be created directly; to do this, you must call the getSystemService () method (from the Context class) and pass the Context.TELEPHONY_SERVICE constant to it.

  1. TelephonyManager tm = (TelephonyManager) getSystemService(Context .TELEPHONY_SERVICE ) ;

2. For some methods of the TelephonyManager class, it is necessary to add the READ_PHONE_STATE permission (receiving information about the state of the phone) or ACCESS_COARSE_LOCATION (information about the base station of the cellular network) to the manifest file (AndroidManifest.xml) in the manifest file (AndroidManifest.xml). Permissions are added to the manifest file like this:

  1. "http://schemas.android.com/apk/res/android"
  2. android:versionCode="1"
  3. android:versionName="1.0" >
  4. "android.permission.READ_PHONE_STATE"/>
  5. "android.permission.ACCESS_COARSE_LOCATI ON"/>
  6. >
  7. >
  8. >

3. Let's see what information we can get:
- int getCallState()- determines the call state of the phone. Returns one of three constants: CALL_STATE_IDLE(phone not active) CALL_STATE_OFFHOOK(call attempt), CALL_STATE_RINGING(connection with the subscriber).

-int getPhoneType()- determines the type of mobile phone. Returns one of the constants PHONE_TYPE_CDMA, PHONE_TYPE_GSM, PHONE_TYPE_NONE, PHONE_TYPE_SIP.

-int getNetworkType()- determines the type of cellular network. Returns one of the constants NETWORK_TYPE_UNKNOWN, NETWORK_TYPE_GPRS, NETWORK_TYPE_EDGE, NETWORK_TYPE_UMTS, NETWORK_TYPE_CDMA and etc.

- String getNetworkCountryIso()- returns the code of the country in which the operator is registered.

- String getNetworkOperator()- returns operator code (MCC+MNC) (mobile country code + mobile network code)

- String getNetworkOperatorName()- returns the name of the operator

- String getDeviceId()- returns the ID of the mobile device

- String getDeviceSoftwareVersion()- returns the software version (this is not the android version)

-int getDataState()- defines the state of the data transfer. Returns one of the constants DATA_DISCONNECTED, DATA_CONNECTING, DATA_CONNECTED, DATA_SUSPENDED.

-int getDataActivity()- determines the direction of data transfer. Returns one of the constants DATA_ACTIVITY_NONE, DATA_ACTIVITY_IN, DATA_ACTIVITY_OUT, DATA_ACTIVITY_INOUT, DATA_ACTIVITY_DORMANT.

- boolean isNetworkRoaming()- determines whether the phone is in roaming.

- CellLocation getCellLocation()- determines the current position of the device. Returns an instance of the CellLocation class, or rather one of its child classes CdmaCellLocation (for CDMA networks) or GsmCellLocation (for GSM networks). In the GsmCellLocation class, you can determine the ID of the base station of the cellular network (int getCid ()) and the code of the territory in which the phone is located (int getLac ())). In the CdmaCellLocation class, you can also get the base station ID (int getBaseStationId()), as well as its geographic coordinates (int getBaseStationLatitude(), int getBaseStationLongitude()).

- int getSimState()- determines the state of the sim card. Returns one of the constants SIM_STATE_UNKNOWN, SIM_STATE_ABSENT, SIM_STATE_PIN_REQUIRED, SIM_STATE_PUK_REQUIRED, SIM_STATE_NETWORK_LOCKED, SIM_STATE_READY.

- String getSimCountryIso()- Returns the provider's country code

- String getSimOperator()- Returns operator code (MCC+MNC)

- String getSimOperatorName()- Returns the name of the provider

- String getSimSerialNumber()- Returns the serial number of the sim card.

Display

The DisplayMetrics class is used to obtain information about a device's display.
  1. DisplayMetrics metrics = new DisplayMetrics() ;
  2. getWindowManager() .getDefaultDisplay() .getMetrics(metrics) ;

The first line defines an instance of the DisplayMetrics class, and the second line initializes this instance.
getWindowManager()(from the Activity class) - returns the window manager (an instance of the WindowManager class)
getDefaultDisplay()(from the WindowManager class) - returns the display on which the window manager creates windows (an instance of the Display class)
getMetrics()(from the Display class) - a method that takes an out-parameter of the DisplayMetrics type to get the screen parameters.
That is, after these two lines we get metrics, which contains information about the display.

The DisplayMetrics class has the following public fields:
densityDpi- screen pixel density (dpi)
scaled Density- scaling factor for fonts
heightPixels- screen height
widthPixels- screen width
xdpi
ydpi- the exact number of pixels per inch across the width of the screen

Battery

The BatteryManager class is used to get information about the battery. Unlike the two previous cases, there is no device battery management service. The android system sends broadcast messages (Broadcast) about changes in battery status. We need to subscribe to receive such messages.
You can subscribe to broadcast messages using the method
registerReceiver(BroadcastReceiver receiver, IntentFilter filter), where
receiver - an instance of a class inherited from BroadcastReceiver with an overridden OnReceive() method
filter - an instance of the IntentFilter class that determines which messages we want to subscribe to.
  1. public void onCreate(Bundle savedInstanceState) (
  2. BroadcastReceiver receiver = new BroadcastReceiver() (
  3. @Override
  4. public void onReceive(Context context, Intent intent) (
  5. int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS , -1 ) ;
  6. registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED ) ) ;

We have subscribed to the ACTION_BATTERY_CHANGED messages, now when the battery state of the mobile phone changes, the OnReceive method will be called. The variable intent is passed to this method, which contains a set of Extra parameters that provide information about the battery.
You can get these parameters using the methods
int getIntExtra(String name, int defaultValue) or String getStringExtra(String name)
where name is the name of the parameter
defaultValue - the default value if the parameter is not defined.
These methods return a numeric or string value of the parameter (the Intent class also has functions for float, double, etc., but we won't need them in this case).

One of the constants from the BatteryManager class is passed as the name of the parameter (name):

EXTRA_HEALTH- battery status. The value will be one of the following constants:
BATTERY_HEALTH_DEAD- the battery is inoperable
BATTERY_HEALTH_GOOD- battery is in good condition
BATTERY_HEALTH_OVERHEAT- battery overheated
BATTERY_HEALTH_OVER_VOLTAGE- battery high voltage
BATTERY_HEALTH_UNKNOWN- state unknown
BATTERY_HEALTH_UNSPECIFIED_FAILURE- battery is defective

EXTRA_ICON_SMALL- resource ID for the battery icon. This icon is shown in the status bar of the mobile phone and shows the battery level.

EXTRA_SCALE- maximum battery level

EXTRA_LEVEL- current battery level (value from 0 to EXTRA_SCALE)

EXTRA_STATUS- determines the state of charge of the battery. The value will be one of the following constants:
BATTERY_STATUS_CHARGING- the battery is charging
BATTERY_STATUS_DISCHARGING- low battery
BATTERY_STATUS_FULL- battery is charged
BATTERY_STATUS_NOT_CHARGING- the battery is not charging
BATTERY_STATUS_UNKNOWN- state unknown

EXTRA_PLUGGED- determines the connection of the charger. The value will be one of the following constants:
BATTERY_PLUGGED_AC- connected to charger
BATTERY_PLUGGED_USB- connected to USB

EXTRA_PRESENT- determines if the device has a battery (boolean value)

EXTRA_TECHNOLOGY- battery technology, such as “Li-Ion”. (value of type String)

EXTRA_TEMPERATURE- battery temperature

EXTRA_VOLTAGE- battery voltage

To get battery status information, you need to add BATTERY_STATS permission to AndroidManifest.xml

"android.permission.BATTERY_STATS"/>

I will not give the full code here, it is rather banal. By sequentially calling all the described methods, we get something like this:

The SysManager application sources can be downloaded below. There are 5 classes in the application:
SysManagerActivity- the main window of the application, which defines three tabs. Learn how to make tabs
TelManager- getting information about the phone and sim card
ScrManager- getting information about the display
BatManager- getting information about the battery
In all three classes, the received information is simply displayed in a text field.
TS- an auxiliary class, with a bunch of static methods that translate int constants of the TelephonyManager.NETWORK_TYPE_GPRS type into strings (“GPRS”).
Don't forget about additional permissions in AndroidManifest.xml :)

Service (they are also engineering, they are also secret) codes are used for quick access to various functions, often even hidden ones. There are universal codes for Android, and there are those that are available only for certain device models.

Not so long ago, I published an article in which I said,. To do this, you could use special software or use one of the secret codes. Now I will talk about the most popular of them, thanks to which you can carry out many system settings.

Popular secret codes for Android smartphones

Why are these codes called "secret"? It's just that most ordinary users do not need them, they are not published in the instructions for smartphones. First of all, "secret codes" are intended for engineers and developers to conduct various tests.

To use any of the service codes, you need to enter it in the dialer. On tablets, you will have to download a third-party application for making calls - enter the query "Dialer" in the Google Play search and download the dialer you like.

  • *#06# - information about the IMEI of the smartphone
  • *#*#4636#*#* - information about Wi-Fi, battery and usage statistics
  • *#*#3646633#*#* or *#*#83781#*#* - enter the engineering menu on smartphones with an MTK processor (you can use it through it)
  • *#*#8255#*#* - Google Talk service testing
  • *#*#7594#*#* - if you enter this combination, after that, when you press the power button, the smartphone will immediately turn off, without offering a menu
  • *#*#44336#*#* - information about PDA, CSC, build time and other data about the smartphone
  • *#*#232338#*#* - Wi-Fi MAC address
  • *#*#7780#*#* - instant reset to factory settings (Hard Reset). Removes only applications
  • *2767*3855# - instant factory reset, but unlike the previous method, Android is completely reinstalled
  • *#*#1234#*#* or *#12580*369# - information about device firmware
  • *#*#1111#*#* - information about FTA software version
  • *#*#2222#*#* - information about FTA hardware version
  • *#*#0283#*#* - Loopback test
  • *#*#0*#*#* - screen test
  • *#0*# - testing various components: screen, camera, speakers, vibration, microphone and others
  • *#*#0673#*#* or *#*#0289#*#* - audio test
  • *#*#0842#*#* - vibration and backlight test
  • *#*#232339#*#* or *#*#526#*#* - wireless network test
  • *#*#1472365#*#* - GPS test
  • *#*#1575#*#* - detailed GPS test
  • *#*#232331#*#* - Bluetooth test
  • *#*#232337#*#* - show bluetooth address
  • *#*#2663#*#* - touch screen version
  • *#*#2664#*#* - touch screen testing
  • *#*#0588#*#* - motion sensor testing
  • *#*#7262626#*#* - GSM signal test
  • *#197328640# - switch to service mode
  • *#*#3264#*#* - RAM version
  • *#*#8351#*#* - activation of the voice dialing registration mode
  • *#*#8350#*#* - turn off the voice dialing registration mode
  • #*5376# - delete all SMS
  • *#2222# - Android firmware version
  • #*2562#, #*3851#, #*3876# - reboot smartphone, tablet
  • *#34971539# - complete information about cameras and their firmware updates
  • *#*#273283*255*663282*#*#* - quick backup of media files
  • *#*#4636#*#* - secret menu for Motorola devices
  • **05***# - Unlock PUK on Sony
  • 3845#*855# - service menu on LG G3
  • *#0011# - service menu on Samsung Galaxy S4
  • ##778 (+ call button) - displays the EPST menu (for Samsung)
  • ##3424# - diagnostic mode (for HTC)
  • ##3282# - EPST (for HTC)
  • ##8626337# - VOCODER (for HTC)
  • ##33284# - network status technical data (for HTC)
  • ##7738# - protocol revision (for HTC)

In principle, these are the most basic and universal service (secret) codes for Android tablets and smartphones, but all manufacturers add support for their own, so if you are interested in codes for a particular device, download the application. It will be discussed below.

Android service codes in the Secret Codes app

The Secret Codes app will scan the system for engineering codes and list the result. You just need to click on the code of interest and you will go to the desired option.

Unfortunately, this method has a disadvantage: on some devices, the application does not find a single service code, and on some it does not find everything. But on the devices I tested, everything was fine, and the reviews on Google Play are almost all positive.