• Speeding up Android: which methods really work. How to speed up Android smartphone and tablet? Programs, recommendations

    The Android operating system is very popular today, as evidenced by the presence of this software in devices from fairly well-known manufacturers. Nowadays, smartphones, tablets and other devices that do not run Android OS are widespread and range from the cheapest to the most expensive. This operating system offers a lot of undoubted advantages, however, many devices sooner or later begin to “slow down”, and therefore users begin to think about how to speed up Android.

    We have prepared several proven and effective ways to increase the performance of the Android operating system. This manual will present only those methods that really work and have proven their effectiveness in practice. We will not consider dubious methods of optimizing and speeding up the system using programs, utilities and defragmenters, the description of which speaks of their amazing functionality, but in practice the result is zero. Let's start with the simplest methods that every user can handle and end with tips for advanced ones. If you do not consider yourself an advanced user, this does not mean that our recommendations will not help you. The main thing is to follow the step-by-step instructions and you will certainly succeed.


    Before you speed up Android using serious and rather complex procedures, you should try the basic methods, so to speak, which can also turn out to be very effective, so we’ll start with them.

    1. Disable live wallpapers. Many users, in pursuit of the beauty of their device, use all kinds of live wallpapers. At the same time, not everyone knows that such a screensaver on the screen of your smartphone or tablet takes up significant system resources. Therefore, one of the speedup measures should be replacing live wallpapers with a regular picture.

    2. Get rid of unnecessary widgets. Almost all users place all kinds of widgets on the desktop of their gadget, which in turn also consume RAM, which slows down the operation of the android. Of course, there is no need to remove all widgets; at least get rid of the unnecessary ones.

    3. Remove apps you don't use. Perhaps each of us is familiar with Google Play, which presents users of Android devices with many excellent applications, most of them completely free. It is very difficult to resist installing a dozen other interesting programs on your smartphone or tablet. It's one thing to have only really necessary programs installed, but often the device is full of useless applications. Meanwhile, the fact that you do not use them does not mean that they do not affect the operation of your Android in any way. Programs run background processes and thereby consume OS resources. Therefore, to speed up Android you need to get rid of unnecessary applications and leave only what you really need.

    4. Delete cache contents. Removing unnecessary applications will undoubtedly affect the performance of Android, but you should also be aware that many programs accumulate data in the cache memory over time, which also slows down the speed of the device. Of course, it won’t be possible to delete all applications, otherwise why buy Android at all, but deleting the cache contents is quite possible. Go to the device settings and follow the following path: “applications”>”application management”> “application information” and select “Clear cache”. In order not to repeat similar actions separately for each application, you can delete the cache of all programs in the “Settings -> Memory -> Data in the cache -> Yes” menu. After this, you need to go to the “Delete data” section, which is located in the “Application information” tab. To completely reset the application settings, you need to click on “default settings”. It should be said that such actions will lead to the fact that all data saved in the application will be deleted and it will return to its original state. That is, if you set the default settings, for example, for a certain game, then all previously achieved achievements will be canceled. So be picky.

    5. Reset your Android device to factory settings. If all of the above methods did not give the desired result, you can try resetting the settings to factory settings. This measure returns the device to its original state. Before speeding up Android in this way, it is advisable to make backup copies of contacts and other important information that is stored in the gadget’s memory. The fact is that collecting triples will lead to its deletion. To reset the settings, follow the following path: “Settings” - “Privacy” - “Reset settings”.

    6. Free up your device's internal memory. The phone may begin to slow down due to insufficient internal memory for normal functioning. To solve this problem, you need to delete unnecessary files or move them to external memory, that is, to an SD card.

    7. Update the firmware. You can speed up Android by flashing the device. New versions of the OS fix lags, errors and other problems that slow down the operation of a smartphone or tablet. First of all, you should try installing the official firmware directly from the device itself. Detailed instructions are presented in the article ““. It should also be said that often when you try to update the OS, the device displays a message that updates are currently not available. If you are faced with this problem, do not worry, as there is a solution. Read more about this in the article ““. We also recommend that you familiarize yourself with the corresponding video instructions:


    Get root rights. If attempts to speed up Android using the above methods did not give the desired result, you can try more drastic measures. However, in fairness, it should be noted that performing the above procedures in most cases significantly speeds up OS performance. Although, for some this is not enough, and if you are among them, then it makes sense to get root rights, which provide the ability to perform additional actions with a smartphone or tablet.

    Before you speed up Android using one of the methods below, you should know that getting root rights is a rather risky and difficult procedure. Additionally, successfully rooting will void your warranty, so if your device is still under warranty, doing this is not recommended. Although, on the other hand, root rights can be removed at any time and the warranty will be renewed, but the manufacturer is unlikely to notice the fact of using root rights. In general, it’s up to you to decide whether to use the methods listed below or not; our task is to provide you with detailed instructions.

    After obtaining root rights, you will be able to get the following features:

    • You can overclock the device's processor. Thanks to this process, the speed of the gadget significantly increases.
    • You will have the opportunity to install modified firmware with additional functionality. Such firmware is also called custom firmware and they are not official. It should be understood that such firmware can really speed up the performance of the device and make other positive changes in its operation, however, they also have negative sides. Among custom firmware, there are often versions of poor quality, which can only worsen the performance of a smartphone or tablet. That is why you need to take a responsible approach to choosing modified firmware.
    • You will be able to remove default applications. It was already mentioned above that deleting unnecessary applications speeds up Android, but every smartphone and tablet computer has pre-installed applications that are sometimes useless, but there is no way to remove them. Root rights provide this opportunity and you can get rid of any application. The main thing is to be careful not to delete the system application.

    This is not a complete list of opportunities that obtaining root rights provides.

    How to get ROOT rights on Android

    If you still decide to get Root rights, then you need to follow certain rules. Rooting a device means obtaining superuser rights, that is, you get full control over your device and can perform almost any action, including potentially dangerous ones for your smartphone or tablet. ROOT rights come in several types: Full Root (full access without any restrictions), Shell Root (without access to the system folder), Temporary Root (temporary Root, works only until the first reboot of the device).

    The procedure for obtaining root rights is not complicated and does not involve any problems, but only if you carefully follow all instructions. You don't have to do anything supernatural. Today, there are quite a few special utilities that automate the process of obtaining superuser rights, so even novice users can cope with this task. The most famous programs include the following: Framaroot, Kingo Android ROOT, SuperOneClick, UnLock Root and Z4 Root. All of these apps can be used to root. In this article we are talking about how to speed up Android, so we will not consider in detail the process of obtaining superuser rights using the above programs here. If you are interested in this method, we recommend that you read the article ““.

    With Android acceleration, we hope everything is clear and now your device will start working faster. In conclusion, it should be said that we did not mention special utilities for optimizing the device, since, unlike Windows for Android, such measures are not effective, at least this is what our practice demonstrates.

    Many Android smartphones are equipped with weak components. In this regard, their performance cannot be called flawless. Fortunately, there are various accelerators that try to rid the system of stutters. In this article we will try to find out which accelerator does its job better.

    You can read thousands of reviews online about people not liking the way their smartphone works. They complain about all sorts of glitches and freezes. This is explained by the fact that a rare manufacturer tries to seriously optimize their own creation. So it turns out that the user needs a memory accelerator in order for the system to start working noticeably faster. But which one should you choose? After all, there are now malicious applications masquerading as utilities of this type. It is this question that this article will try to answer.


    The interface of this utility is made in Russian. This allows even a novice who picks up a tablet or smartphone to understand the program for the first time. The application is capable of performing the system optimization process automatically - you just need to press one button. But this is not all the functionality of Super Optimize!

    This accelerator for Android allows you to clear your browser history without even going into it. There is also a program removal function. Believe me, many beginners do not understand exactly how to remove applications from a smartphone! Super Optimize will be manna from heaven for them. Here you can also transfer programs from the device’s memory to a microSD card, if the operating system allows this. Well, as a bonus, the user has access to functions for adjusting volume, display and battery.

    Super optimization can be downloaded for free. The payment for using the program will be viewing advertising, which is located at the bottom of the interface (it does not cover any menu items).

    Advantages:

    • Functions for deleting applications and transferring them to a memory card;
    • Well-implemented memory optimization;
    • Clearing history in the browser;
    • Battery, screen and volume settings;
    • Distributed free of charge.

    Flaws:

    • Still not the widest functionality;
    • Lack of scheduled optimization;
    • Availability of advertising.

    Clean Master

    Price: Free

    This accelerator for Android is good because it works even on the oldest versions of the operating system. Namely, many of the cheapest smartphones that have problems with optimization are equipped with them. Like many other applications, Clean Master allows you to clean the operating system and optimize memory in just a couple of clicks. At the same time, the program is supplemented with a widget that further simplifies this process.

    The utility is supplemented with an application manager, with the help of which they are not only deleted permanently, but also with all their cache and other garbage. Clean Master also has a built-in simple but effective antivirus, which will immediately make itself known if you have installed something bad on your smartphone. This useful utility is distributed free of charge, and it is practically not annoying with advertising.

    Advantages:

    • Ability to clean the file system from garbage;
    • Availability of an application manager;
    • Availability of antivirus;
    • Simple and intuitive interface;
    • Autorun manager (root rights required);
    • Distributed free of charge.

    Flaws:

    CCleaner

    Price: Free

    Another free accelerator. Many people are familiar with it because of its counterpart for the Windows desktop operating system. Its mobile counterpart is not as functional, but it copes with basic tasks without any problems. The program weighs very little, thanks to which it fits even on a very old smartphone with a minimum amount of memory. Like other utilities of this kind, CCleaner is capable of searching for cache and other residual files that you no longer need. The program also displays the temperature and battery charge, supplementing all this with the processor load level.

    The application is characterized by high speed. Like its brothers, CCleaner optimizes memory in one click. The interface is made in Russian, the user should not have any problems with it.

    Advantages:

    • High speed;
    • Small executable file size;
    • Easy memory optimization;
    • Search for junk files;
    • Availability of an application manager;
    • Display system information;
    • Distributed free of charge.

    Flaws:

    • Lack of additional functions;
    • Lack of scheduled optimization.

    DU Speed ​​Booster

    Price: Free

    This application will try to speed up your phone by 60%. To do this, not only the RAM is optimized, but also unnecessary files are deleted. For example, cache from games that you have already deleted. Another undoubted advantage of DU Speed ​​Booster is the presence of an antivirus.

    Like some other similar utilities, this accelerator for Android has a built-in application manager. With its help, you can move programs to the SD card, if allowed by the operating system, as well as completely remove them. The utility interface is made in Russian, but if necessary, you can switch to any of the sixteen other supported languages. The product is distributed free of charge.

    Advantages:

    • Regular cleaning function;
    • Well-implemented optimization;
    • Availability of antivirus;
    • Built-in application manager;
    • Speed ​​test;
    • Availability of permission manager;
    • Distributed free of charge.

    Flaws:

    • Not the easiest interface to learn.

    Summing up

    Perhaps the best accelerator is Clean Master. It can be run even on very old smartphones. Namely, they need such utilities most of all, because devices with the latest versions of the operating system are themselves perfectly optimized. But it should be noted that this accelerator is supplemented with many secondary functions. For example, an antivirus. If you'd like a tiny utility that focuses only on system optimization instead, take a look at CCleaner. There is nothing superfluous in this application, and it also runs on almost any smartphone.

    Many owners of Android gadgets are faced with the problem of slow operation of the device and its braking. How to speed up your tablet or smartphone? We will give some useful and really helpful tips.

    First, it’s worth making a short introduction. Android is an operating system almost the same as the usual Windows. It has background processes, applications, RAM and internal memory, and processors. These factors affect the speed of a smartphone or tablet to varying degrees. Therefore, the issue of speeding up Android is solved in a comprehensive way.

    First, let's speed up the gadget on our own.

    On your own

    Disable unused features. Very corny, but it helps. Disable Wi-Fi, Bluetooth, 3G/LTE, Tethering, GPS and other functions if you are not currently using them.

    Power Saving Mode

    The easiest way to speed up Android is to set the power/energy saving mode to Performance or Off. The exact wording depends on the firmware version and device. This can significantly improve system speed, but will put a slight strain on the battery, causing it to drain faster. Although it is unlikely that the difference will be very noticeable.

    GPU acceleration

    Any Android device has a “For Developers” section in its settings. It is sometimes hidden from prying eyes, so it needs to be unlocked. Go to “Settings” - “About phone” and click on “Build number” several times. Now go to the new settings section and check the box next to “Speed ​​up GPU.” If you do not find it, then this function works automatically, you can skip this step.

    Disable animation

    Animation when opening windows and transitions can negatively affect the speed of a smartphone, especially a budget one. It looks visually nice, but performance is much more important.

    Go to developer settings and find two menus: “Window: Zoom” and “Transition: Zoom”. In both, disable animation.

    A clear approach to installing and storing applications

    Here are some banal but very important tips:

    • Install and store only those programs and games that you use regularly.
    • If possible, try to install lightweight applications that are not demanding on system resources.
    • Ruthlessly remove games and programs that you do not use.

    It is important to understand that clogged physical memory is one of the reasons for unstable operation of the device. Release her, .

    Desk. Widgets. Live wallpaper.

    It is not by chance that three indicators are included in one subheading. It is important to keep your desktop in order, not to clutter it with icons, widgets and beautiful live wallpapers. This is, of course, beautiful, but performance requires sacrifice.

    Autostart and background processes

    As soon as you turn on your smartphone or tablet, various services and background applications are automatically launched on it. Very often this list contains completely unnecessary and superfluous programs that you do not use. They need to be disabled:

    • Go to Settings - Applications - Running.
    • Disable those programs and games that are not needed. IMPORTANT: you cannot touch system services like Google Services, Settings, etc.

    Disabling account synchronization

    You can connect several accounts to any smartphone or tablet running Android: Gmail, VK, Twitter and others. They are automatically synchronized with the device, while consuming system resources and the Internet.

    Go to “Settings” - “Accounts and synchronization” and disable synchronization with those profiles that are not needed.

    Automatic application updates

    By default, our favorite Google Play market automatically updates all installed games and programs. Of course, this can cause the system to slow down, so it is also recommended to disable this function. This is discussed in more detail in the special.

    This is where the basic capabilities for “overclocking” Android are over – it’s time to turn to third-party programs and methods.

    Special Applications

    The app store has several decent programs designed to speed up Android. The most popular and recognized - DU Speed ​​Booster(Cleaner). If for some reason you don't like the utility (although this is unlikely), you can find alternatives.

    Cleaning the system of debris

    The operating system of the “Green Robot” tends to become clogged with cache files, cookies, download history and pages visited in the browser. It takes up memory, which means it slows down work. To comprehensively clean the system from garbage and unnecessary temporary files, we recommend using a special program - Clean Master. There are also worthy alternatives; they are not difficult to find in the Market.

    Programs to optimize battery life will also help speed up Android. Everything is interconnected. An excellent solution would be Battery Doctor.

    These programs automatically scan systems for unnecessary processes and data and, with our consent, delete files, folders and other junk. This frees up both physical memory and RAM, and also unloads the processor.

    Memory card

    Most smartphone owners have a memory card installed, which is necessary for storing photos, videos, applications and other files. But it can also cause the gadget to slow down. This is because memory cards may be either slow or outdated.

    MicroSD cards have special designations (2, 4, 6, 10) that indicate the speed of information exchange. The higher this number, the better. Age cards and those that come in kits with devices, as a rule, are of type 6 and below. This may be one of the reasons for Android's slow performance. It is recommended to replace the card with a new one with indicators above 6.

    Firmware

    If all else fails, then the only option left is -, the most popular of which is CyanogenMod.

    Custom firmware has a number of advantages compared to stock ones:

    • No unnecessary pre-installed applications that slow down the system and clog up the RAM. As a result, the device operates stably.
    • Rich functionality (the ability to increase or decrease the processor frequency to save battery, etc.).
    • Timely system updates (especially useful for devices that are no longer supported by the manufacturer). With each new update, the developers correct errors and add exactly what users need, as in most cases they conduct discussions on the forums.

    There are also disadvantages:

    • Reflashing a smartphone entails loss of warranty and sometimes the possibility of turning it into a “brick.”
    • Unofficial firmware sometimes has some flaws (for example, if the phone has two cards, they may not be displayed correctly).
    • Updating to a new version occurs through Recovery, and not over the air. Moreover, as a rule, it is required

    Wandering through forums and various sites dedicated to Android, we constantly come across tips on how to increase the performance of a smartphone. Some recommend enabling swap, others recommend adding special values ​​to build.prop, and others recommend changing Linux kernel variables. You can find a huge number of recipes of this kind in different versions, both on XDA and w3bsit3-dns.com. But do they really work?

    Introduction

    Having used a variety of *nix systems over the past ten years, I have always been amazed at how persistently some seemingly literate smartphone users try to push their ideas on how to optimally configure Android and the underlying Linux kernel to the public. And it would be fine if the matter was limited to easy tuning of the virtual memory management subsystem or the inclusion of experimental options. No, usually we are asked to use long scripts that change literally every kernel variable, remount file systems with various strange options, enable swap, activate various system daemons and perform billions of other different operations.

    No, well, you can, of course, assume that the Linux kernel, Android and proprietary firmware for smartphones are developed by illiterate idiots, whose work needs to be radically redone, but in practice for some reason it turns out that the most famous tuning tools published on XDA are nothing more than a hodgepodge of a huge number of disparate recommendations, invented by someone unknown and unknown why. The absurdity of the situation is that in these tools you can find lines copied unchanged from scripts to increase the performance of a Linux server under high load conditions (I'm not kidding, look at the contents of the famous ThunderBolt script!).

    In general, the situation is more than confusing. Everyone advises everything, no one advises anything, and those who understand something sit and, drinking tea, laugh at the farce that is happening. But let's try to clear up all this mess.

    Swap

    Let's start with swap - the most absurd idea that you can think of for use in smartphones. Its purpose is to create and connect a paging file, which will free up useful space in RAM. The idea itself is, of course, sound, but only if we are talking about a server that has no problem with interactivity. On a smartphone, a regularly used swap file will lead to non-illusory lags resulting from cache misses - just imagine what will happen if an application tries to display one of its icons, and it ends up in a swap that will have to be loaded from disk again, having first freed up space by placing another application's data in a swap. Horror.

    Some users may argue that in fact, after enabling swap, no problems arise, but for this we must thank the lowmemorykiller mechanism, which regularly kills particularly bloated and long-unused applications. Thanks to it, a device with 1 GB of memory may never need to dump data into swap. This is also the reason why, unlike a Linux desktop, swap is not needed on Android.

    Verdict: a very stupid idea, the implementation of which is fraught with serious lags.

    zRAM

    Swap is indeed very slow, and even on a desktop its existence is often unjustified, but what if you cheat the system? Let's create a virtual disk directly in RAM with a built-in data compression function, connect it as swap - and voila. The data compression function is quite cheap even for modern mobile processors, so we can expand the size of the RAM with virtually no loss of performance.

    The idea is so good that even Google recommends using zRAM for KitKat-based devices if the RAM capacity does not exceed 512 MB. The only catch is that the method only works for modern state-of-the-art devices, that is, devices based on multi-core budget processors from some MTK and 512 MB of RAM. In this case, the encryption stream can be moved to a separate core and not worry about performance at all.

    On outdated devices with a single core, for which the “forum gurus” recommend using this technology, we will again get lags, and in quite large quantities. The same, by the way, applies to KSM (Kernel SamePage Merging) technology, which allows you to merge identical memory pages, thus freeing up space. It is also recommended by Google, but on older devices it leads to even greater lags, which is quite logical, given the constantly active nuclear thread, which continuously walks through memory in search of duplicate pages (are there really so many of these duplicates?).

    Verdict: Depends on the device, slows down the system in most cases.

    Seeder

    At one time, this application caused a lot of noise and spawned many analogues. A huge number of messages have appeared on the Internet about the supposedly phenomenal increase in smartphone performance after its installation. Homegrown custom firmware builders began to include it in their builds, and the author was declared a savior. And all this despite the fact that Seeder did not perform any dirty hacks, but simply fixed one stupid Android bug.

    In short, the bug was that some high-level components of the Android runtime actively used the /dev/random file to obtain entropy/salt. At some point, the /dev/random buffer was empty, and the system was blocked until it was filled with the required amount of data. And since it was filled with what came from different sensors, buttons and sensors of the smartphone, this procedure took so much time that the user had time to notice the lag.

    To solve this problem, the author of Seeder took the Linux daemon rngd, compiled it for Android and configured it to take random data from the much faster (but also much more predictable) /dev/urandom and dump it into /dev/random every second , without allowing the latter to deplete. As a result, the system never lacked entropy and worked quietly.

    This bug was closed by Google back in Android 3.0, and it would seem that we have no need to remember about Seeder. But the fact is that the application has been actively developed since then and even today is recommended for use by many “experts”. Moreover, the application has several analogues (for example, sEFix), and many creators of scripts/acceleration tools still include similar functionality in their creations. Sometimes it's the same rngd, sometimes it's the haveged daemon, sometimes it's just a symlink of /dev/urandom to /dev/random.

    Everyone who tried it vying with each other about the effectiveness of the solution, however, according to Ricardo Cerqueira from Cyanogen, in modern versions of Android /dev/random is used by only three components: libcrypto (for encrypting SSL connections, generating SSH keys and etc.), wpa_supplicant/hostapd (for generating WEP/WPA keys) and several libraries for generating random IDs when creating ext2/3/4 file systems.

    The effectiveness of the application in modern Android, in his opinion, is not at all connected with replenishing the /dev/random pool, but with the fact that rngd constantly wakes up the device and forces it to increase the processor frequency, which has a positive effect on performance and a negative impact on the battery.

    Verdict: placebo.

    Odex

    Stock firmware for smartphones is always classified. This means that, along with standard Android application packages in APK format, the /system/app/ and /system/priv-app/ directories (starting with KitKat) also contain files of the same name with the odex extension. They contain the so-called optimized application bytecode, which has already passed through the virtual machine verifier and optimizer and written to a separate file (this is done using the dexopt utility).

    The point of existence of odex files is to relieve the load on the virtual machine and thus speed up the launch of applications (stock). On the other hand, odex files interfere with modifications to the firmware and create problems with updating, and for this reason many custom ROMs (including CyanogenMod) are distributed without them. You can return (more precisely, generate) odex files in different ways, including using simple utilities/scripts like Odexer Tool. They are easy to use and many “experts” recommend doing so.

    The only problem is that this is a pure placebo. If it does not find odex files in the /system directory, the system itself will create them at the next boot and place them in the /system/dalvik-cache/ directory. This is exactly what she does when, when loading new firmware, the message “Application optimization in progress...” appears on the screen. By the way, this also works for applications from the market. But at the stage of installing the software.

    Verdict: placebo.

    Tweaks lowmemorykiller

    The implementation of multitasking in Android is very different from other mobile operating systems and is based on the classic model. Applications can run quietly in the background, there are no restrictions on their number in the system, and functionality is not reduced when switching to background execution. Everything is the same as on the desktop, except for one detail: the system has every right to kill any background application if there is insufficient RAM or (starting with KitKat) the application is excessively greedy for resources.

    This mechanism, called lowmemorykiller, was invented so that, while maintaining the features of a full-fledged multitasking OS, Android could live normally in conditions of limited memory and a missing swap partition. The user can safely launch any applications and quickly switch between them, and the system itself will take care of ending applications that have not been used for a long time and ensuring that the device always has free memory.

    In the early years of Android, the purpose of this mechanism was unclear to many users, so so-called task killers became popular - applications that woke up from time to time and terminated all background applications. In this case, a large amount of free RAM was considered a profit, which was perceived as a plus, although, of course, there were no advantages in this. But there were many disadvantages in the form of longer switching between applications, increased battery consumption and problems with waking up the owner in the morning (the alarm clock was also killed).

    Over time, an understanding of the principles of multitasking came, and task killers were gradually abandoned. However, they were quickly replaced by another trend - tuning the lowmemorykiller mechanism itself (for example, using the MinFreeManager application). The main idea of ​​the method is to raise the RAM fill limits, upon reaching which the system will begin to kill background applications. A sort of “both for us and for you” method, which allows you to free up some memory using standard means, without violating the ideas of Android multitasking.

    But what does this ultimately lead to? Let's say the standard values ​​for memory limits are 4, 8, 12, 24, 32 and 40 MB, that is, when the free memory reaches 40 MB, one of the cached applications will be killed (loaded in memory, but not running, this is an Android optimization ), with 32 - Content Provider, which has no clients, 24 - one of the rarely used background applications, then application service processes (for example, a music player service), applications visible on the screen and the currently running application are consumed. The difference between the last two is that “current” is the application that the user is currently dealing with, and “visible” is something that, for example, has a notification in the status bar or displays some information on top of the screen.

    In general, all this means that the smartphone will always have 40 MB of memory free, which is enough to accommodate one more application, after which the LKM thread will wake up and begin cleaning the memory. Everything is OK, everyone is happy. The system uses memory to the maximum. Now let’s imagine what will happen if the user takes the advice of a home-grown “expert” and raises these values ​​so that the last one is, well, let’s say, 100 MB (usually only the last three values ​​are increased). In this case, one simple thing will happen: the user will lose 100 – 40 = 60 MB of device memory. Instead of using this space to store background applications, which is useful because it reduces switching time to them and battery life, the system will leave it free for no apparent reason.

    To be fair, it should be said that LKM tuning can be useful for devices with a very small amount of memory (less than 512) and Android 4.X on board or for temporarily increasing thresholds. Some tweak developers directly recommend using “aggressive” settings only when running heavy software like hi-end games, and remaining on standard settings the rest of the time. This actually makes sense.

    Verdict: best not to touch.

    Tweaks I/O

    In scripts published on forums, you can often find tweaks to the input/output subsystem. For example, in the same script ThunderBolt! there are the following lines:

    Echo 0 > $i/queue/rotational; echo 1024 > $i/queue/nr_requests;

    The first lets the I/O scheduler know that it is dealing with a solid-state disk, the second increases the maximum I/O queue size from 128 to 1024 (the $i variable in the commands contains the path to the block device tree in /sys, for example /sys/block/ mmcblk0/, the script goes through them in a loop). Further in the text you can find the following lines related to the CFQ scheduler:

    Echo 1 > $i/queue/iosched/back_seek_penalty; echo 1 > $i/queue/iosched/low_latency; echo 1 > $i/queue/iosched/slice_idle;

    What follows are a few more lines related to other schedulers (by the way, pay attention to the completely unnecessary semicolons at the end of the commands). What's wrong with all these lines? The first two commands are meaningless for two reasons:

    1. I/O schedulers in the modern Linux kernel are able to understand what type of storage media they are dealing with.
    2. Such a long I/O queue (1024) is completely meaningless on a smartphone. Moreover, it is meaningless even on a desktop and is used on highly loaded servers (from the recommendations for setting up which, apparently, it ended up in this script).

    The last three are meaningless for the simple reason that for a smartphone, where there is actually no division of applications into I/O priorities and no mechanical drives, the best scheduler is noop, that is, a simple FIFO queue - whoever accessed the memory first gets it access. And this scheduler does not have any special settings. Therefore, it is better to replace all these multi-screen lists of commands with one simple loop:

    For i in /sys/block/mmc*; do echo noop > $i/queue/scheduler echo 0 > $i/queue/iostats done

    In addition to enabling the noop scheduler, it disables the accumulation of I/O statistics for all drives, which should also have a positive effect on performance (although this is just a drop in the bucket and will be completely unnoticeable).

    Another tweak that can often be found in performance tuning scripts is increasing the readahead value for the memory card to 2 MB. The readahead mechanism is designed to proactively read data from storage media before an application requests access to that data. If the kernel sees that someone is reading data from the media for a long time, it tries to calculate what data the application will need in the future and load it into RAM in advance, thus reducing the time it takes to return it.

    It sounds cool, but as practice shows, the readahead algorithm very often makes mistakes, which leads to unnecessary I/O operations and RAM consumption. High readahead values ​​(1–8 MB) are recommended for use on RAID arrays, while on a desktop or smartphone it is better to leave everything as it is, that is, 128 KB.

    Verdict: you don't need anything other than noop.

    Tweaks of the virtual memory management system

    In addition to the I/O subsystem, it is also common to tune the virtual memory management subsystem. Often, only two kernel variables are changed: vm.dirty_background_ratio and vm.dirty_ratio, which allow you to adjust the size of buffers for storing so-called dirty data, that is, data that was written to disk by the application, but is still in RAM and wait until they are written to disk.

    The standard values ​​for these variables in desktop Linux and Android distributions are approximately the following:

    * vm.dirty_background_ratio = 10 * vm.dirty_ratio = 20

    This means that when the size of the “dirty” data buffer reaches 10% of the total amount of RAM, the pdflush nuclear thread will wake up and begin writing data to the disk. If the operations of writing data to the disk are too intensive and, even despite the work of pdflush, the buffer continues to grow, then when it reaches 20% of the RAM volume, the system will switch all subsequent write operations to synchronous mode (without preliminary buffering) and the work of those writing to the disk applications will be blocked until the data is written to disk (in Android terminology this is called lag).

    It is important to understand that, even if the buffer size has not reached 10%, the system will somehow launch the pdflush stream after 30 seconds. What does this knowledge give us? In fact, nothing that we could use for our own purposes. The 10/20% combination is quite reasonable and, for example, on a smartphone with 1 GB of memory it is approximately 100/200 MB of memory, which is more than enough in conditions of rare write bursts, the speed of which is often lower than the write speed to the system NAND memory or SD card (when installing software or copying files from a computer). But the creators of optimization scripts, of course, disagree with this.

    For example, in the Xplix script you can find lines like this (in the original they are much longer due to checks for the amount of RAM and the use of BusyBox):

    Sysctl -w vm.dirty_background_ratio=50 sysctl -w vm.dirty_ratio=90

    These commands apply to devices with 1 GB of memory, that is, they set the dirty buffer limits to (approximately) 500/900 MB. Such high values ​​are absolutely meaningless for a smartphone, since they only work under conditions of constant intensive recording to the disk, that is, again, for a highly loaded server. In a situation with a smartphone, they will be no better than standard ones. By the way, in the script ThunderBolt! Much more reasonable (and close to standard) values ​​are used, but I doubt that the user will notice any difference from their use:

    If [ "$mem" -lt 524288 ];then sysctl -w vm.dirty_background_ratio=15; sysctl -w vm.dirty_ratio=30; elif [ "$mem" -lt 1049776 ];then sysctl -w vm.dirty_background_ratio=10; sysctl -w vm.dirty_ratio=20; else sysctl -w vm.dirty_background_ratio=5; sysctl -w vm.dirty_ratio=10; fi;

    The first two commands are executed on smartphones with 512 MB of RAM, the second - with 1 GB, and the third - with more than 1 GB. But in fact, there is only one reason to change the standard values ​​- a device with a very slow internal memory and/or memory card (hello to the Chinese). In this case, it is reasonable to separate the values ​​of the variables, that is, do something like this:

    Sysctl -w vm.dirty_background_ratio=10 sysctl -w vm.dirty_ratio=60

    Then, during sudden bursts of write operations, the system, not having time to write data to the disk, will not switch to synchronous mode until the last minute, which will reduce application lags when writing.

    Verdict: best not to touch.

    Conclusions

    There are a huge number of smaller optimizations, including “tuning” the network stack, changing Linux and Android kernel variables (build.prop), but 90% of them do not have any effect on the actual performance of the device, and the remaining 10% either improve some aspects of behavior devices to the detriment of others, or increase productivity so little that you won’t even notice it. From what actually works, the following can be noted:

    • Overclocking A little overclocking can improve performance, and undervolting can save some battery life.
    • Database optimization. I seriously doubt that this will give a noticeable increase in speed, but the theory tells us that it should work.
    • Zipalign. It’s funny, but despite the function of aligning content inside APK files built into the Android SDK, you can find a large amount of software in the market that has not gone through zipalign.
    • Disabling unnecessary system services, deleting unused system and rarely used third-party applications (I already wrote about this in one of the previous articles).
    • Custom kernel with optimizations for a specific device (again, not all kernels are equally good).
    • The already described noop I/O scheduler.
    • Westwood+ TCP saturation algorithm. There is evidence that it is much more effective on wireless networks than Android's default Cubic. Available in custom kernels.

    Useless build.prop settings

    LaraCraft304 from the XDA Developers forums conducted research and found that an impressive number of /system/build.prop settings that “experts” recommend for use do not exist at all in the source code of AOSP and CyanogenMod. Here is their list:

    • ro.ril.disable.power.collapse
    • ro.mot.eri.losalert.delay
    • ro.config.hw_fast_dormancy
    • ro.config.hw_power_saving
    • windowsmgr.max_events_per_sec
    • persist.cust.tel.eons
    • ro.max.fling_velocity
    • ro.min.fling_velocity
    • ro.kernel.checkjni
    • dalvik.vm.verify-bytecode
    • debug.performance.tuning
    • video.accelerate.hw
    • ro.media.dec.jpeg.memcap
    • ro.config.nocheckin
    • profiler.force_disable_ulog
    • profiler.force_disable_err_rpt
    • ersist.sys.shutdown.mode
    • ro.HOME_APP_ADJ

    Database optimization

    Script for optimizing system and application settings databases. Naturally, root and BusyBox are required to work.

    #!/system/bin/sh
    for i in \
    `busybox find /data -iname "*.db"`;
    do\
    /system/xbin/sqlite3 $i ‘VACUUM;’;
    /system/xbin/sqlite3 $i ‘REINDEX;’;
    done;

    The Android operating system is gaining more and more popularity today, becoming registered in a wide variety of devices, from the simplest phones to multimedia set-top boxes and tablets. However, these devices do not always have the most modern and powerful hardware, so the issue of optimizing and speeding up Android is very relevant for many. Therefore, we would like to introduce you to several proven ways to increase system performance, as well as common myths on this topic.

    First of all, you need to understand that Android is fundamentally different from Windows, so the methods of optimization and system acceleration that you are familiar with do not work there. However, this does not stop some scammers who actively offer various optimizers, defragmenters and accelerators. Let's take a look at which methods really make a difference.

    Basic level

    1. Disable live wallpapers. Yes, it's beautiful, I know. Brag to your friends and mom, show it to your girlfriend, and then it’s better to put a regular picture, because all these floating fish and clouds really take up system resources.

    2. Remove unnecessary widgets and icons. Each widget on your desktop consumes several megabytes of much-needed RAM. Look at them critically and unload the excess.

    3. Remove unnecessary applications. Google Play has so many good programs, most of which are completely free. Few people can resist installing a dozen or two “just in case,” “it will come in handy later.” However, some of these programs add widgets, run background processes, and are therefore unnecessary resource hogs. Leave only what you really need.

    4. Try a different browser. Android's built-in browser is quite good, but for slower devices Opera Mini may be preferable, as it consumes significantly less resources. Also try Firefox or Dolphin, these browsers can make browsing the web much faster.

    Advice for advanced users (administrator rights required).

    These tips require understanding and sometimes involve some risk, so they are addressed primarily to experienced users who are not afraid to experiment.

    1. Overclock your device. Just like a regular computer, your phone or tablet can be overclocked, that is, the processor frequency can be increased. A popular way to do this is SetCPU. Before making a decision, think carefully about all the pros and cons (increased heat generation, decreased autonomy, etc.).

    2. Try the new firmware. While your device manufacturer may be slow to update the firmware, you can always try using a custom build that's optimized and customized for your phone or tablet. In case of failure, you can always return to the “proprietary” system.

    3. Set up automatic start of programs. On a rooted device, you can use programs like Autostarts, with which you can remove unnecessary processes from the autostart list.

    Erroneous methods

    1. Defragmentation. Android devices do not require defragmentation. Accordingly, all applications that offer speedup in this way are nothing more than a scam.

    2. Applications for task management (Task Manager). Theoretically, all these “task killers” do a useful job - they kill background tasks and free up RAM. However, in reality everything is completely different. The Android operating system uses a rather complex memory management system that is significantly different from Windows. Those applications with which you are not currently interacting are in a “frozen” state, which allows you to restore their state almost instantly the first time you access them. If you unload them from memory, then their subsequent launch is, on the contrary, slower, so that the overall responsiveness of the system decreases.

    What proven ways to speed up Android do you know? Share with our readers in the comments?