Comfortable working with Android Studio

3r3952. Comfortable working with Android Studio 3r33939.  
Good day to all! 3r3953. 3r33939.  
3r3952. How productive is Android Studio? Do you think it works fast on your PC or Mac? Or, sometimes, encounter lags or a long build? And on large projects? 3r3953. 3r33939.  
3r3952. In any case, we all want to get maximum performance from hardware and software. Therefore, I have prepared a list of points and tips for beginners and experienced developers who will help you to work comfortably with large projects or simply to increase productivity. You will also understand whether your equipment needs an upgrade. 3r3953. 3r33939.  
3r3952. Users of other popular IDEs may also find something useful for themselves. 3r3953. has already been described on Habré . 3r3953. 3r33939.  
3r3102. A few words about Mac 3r3904. 3r33939.  
3r3952. There is an opinion that Mac is the best development machine. More often say so about the MacBook Pro. 3r3953. 3r33939.  
3r3952. Personally, I think this is a myth. With the advent of technology NVMe Mac lost its "magic". So today, even among laptops, the Mac is not a leader in price-performance-performance ratio. Especially in the context of development for Android Studio. 3r3953. 3r33939.  
3r3952. Otherwise, for a comfortable development it makes sense MacBook Pro 2015 or 2016 not with a U-processor. Read about other features and service below. 3r3953. 3r33939.  
3r3118. The processor 3r3904. 3r33939.  
3r3952. By processor performance, it is obvious and understandable. The higher it is, the better. The only thing that needs to be noted is that if there is a sufficiently fast drive, a weak processor will become a bottleneck in your system. Especially critical in the case of NVMe-drive. Often, when working with it, the emphasis is precisely on the power of the CPU. 3r3953. 3r33939.  
3r3952. With threads, things are a little more complicated. I read that users reduce the priority of the studio and its subprocesses so that the OS "does not hang" during the build. The reason here is one- 1-2 hardware threads. This is not only for the IDE, but also for the modern OS. The only "but" - in my practice, there were situations when dual-core U-processors with Hyper Threading (that is, 2 cores to 4 threads) normally worked with relatively small projects, but the above-mentioned problems started on large ones. 3r3953. 3r33939.  
3r3952. Of course, the presence of hardware virtualization is required. 3r3953. 3r33939.  
3r3952. Therefore, I recommend looking towards the Sky i5 HQ Skylake with 4+ streams and more powerful. 3r3953. 3r33939.  
3r3138. RAM
3r33939.  
3r3952. Regarding the standards, DDR3 and higher. Here, I think, it is clear. 3r3953. 3r33939.  
3r3952. If there is an opportunity to work in 2 or 4-channel mode and you are not active, I strongly recommend using it, since you can get a significant increase in responsiveness of IDE. This feature is activated either in the BIOSUEFI settings or by installing additional RAM modules (if you still have one module). 3r3953. 3r33939.  
3r3952. What volume is needed? For small (really small) projects, 4GB is enough. On larger projects, the studio is able to quickly take up 4GB of memory and more. Add here an emulator for HAXM (say 2 GB) and take into account that the modern OS (with the exception of some Linux distributions) takes up about 2 GB in memory, and now it turns out that 8GB is already “just right”. 3r3953. 3r33939.  
3r3952. This is not taking into account, for example, Slack (which takes an average of about 500 MB in memory) and Chrome (where the bill goes to gigabytes). 3r3953. 3r33939.  
3r3952. In general, with 8GB of RAM, you can quickly and comfortably work; a fast drive and swap swap file save you. But it is worth thinking about the upgrade. 3r3953. 3r33939.  
3r3952. Therefore, the company buys new ones, or provides an upgrade of current working machines with 12GB of RAM or more. 3r3953. 3r33939.  
3r3r1616. SSD 3r3904. 3r33939.  
3r3952. The disk subsystem is the most frequent bottleneck, so it is necessary to pay attention to it first. 3r3953. 3r33939.  
3r3952. Working with Android Studio on HDD in 2018 is comparable to anguish - the larger the project, the more friezes you are provided for. Therefore, obviously, use only SSD. 3r3953. 3r33939.  
3r3952. As mentioned above, there are two critical parameters here:
3r33939.  
 
The speed of random reading and random writing of the disk subsystem of 3r3363645.  
The speed of small block reading and small block writing of the disk subsystem of 3r-336454.  
3r33939.  
3r3952. The higher they are, the more responsive the studio will be, and the faster it will load and assemble. 3r3953. 3r33939.  
3r3952. I draw your attention to the fact that the speeds of linear reading of speech recordings are not going on; for the studio, this is not critical. Therefore, when choosing a drive, you need to look not at its reading speed on the manufacturer or store website, but on the number 3r3198. IOPS
(the bigger, the better). 3r3953. 3r33939.  
3r3952. Needless to say, there is no question of a Mac, since there the drive either has its own standard or is simply soldered on the board. Replacement is possible, perhaps, for a larger volume. High-speed performance here is unlikely to succeed. 3r3953. 3r33939.  
NVMe
3r33939.  
3r3952. If your motherboard supports technology. NVMe 3r3393917. - it is better to use the drive with its support. It allows you to get speeds comparable to SSD on Mac and above. 3r3953. 3r33939.  
3r3952. In the presence of high-speed storage, the emphasis goes to the PCIe bus and the power of your CPU. Therefore, if, for example, your motherboard supports output to a PCIe 2.0x43.0x2 drive or you have a not very powerful CPU, you should not buy a very expensive drive. Look at the capabilities of your system and the thickness of your wallet. 3r3953. 3r33939.  
SATA3
3r33939.  
3r3952. Yes, SATA3 is very much alive. And you can quickly work at the studio. 3r3953. 3r33939.  
3r3952. In this segment, high-speed drives are more accessible, so it makes sense to immediately look at the top solutions of 120 GB or higher. 3r3953. 3r33939.  
Intel Optane
3r33939.  
3r3952. I did not have to use Android Studio on a machine with this drive (if you can call it that). If someone has experience, write in the comments. 3r3953. 3r33939.  
GPU 3r3904. 3r33939.  
3r3952. There is not much to say. 3r33939.  
If you write the usual user applications, for the studio itself and the emulator, something like the Intel HD 500 Series is enough for the eyes. 3r3953. 3r33939.  
3r3952. If you are developing games or this is your personal machine, then discrete graphics make sense. How-see your needs. 3r3953. 3r33939.  
Cooling system and throttling
3r33939.  
3r3952. This is not about upgrades, but about maintenance. 3r3953. 3r33939.  
3r3952. Most of us know the phenomenon of
throttling
. Its implementation is used to protect against overheating. 3r3953. 3r33939.  
3r3952. Of course, throttling leads to a decrease in performance. Not always noticeable. In some cases, the Turbo Boost operation is reduced to the minimum values; in others, the maximum processor frequencies fall. The reason is not enough efficient operation of the cooling system. It is also important to understand that most stress tests (such as AIDA) diagnose Turbo Boost’s standard operation as throttling. 3r3953. 3r33939.  
3r3952. In the case of desktop PCs, everything has been online for a long time. In the case of mobile systems based on heat pipes, a lot of conflicting information. This includes most laptops, nettops, MacBooks and iMacs. Further, it will be about them. 3r3953. 3r33939.  
3r3952. On modern powerful mobile CPUs of 80-90 degrees on a chip under load, this is the norm. At the same time, SOC with these CPUs have an open-crystal design, from which the heat transfer area is small. This whole pile of heat is assigned to
Here is this laughable
similar design with a small closed fluid circuit. 3r3953. 3r33939.  
3r33939. 3r3393930. Modern mobile cooling system [/b] 3r33932. 3r3952. 3r3953. 3r33961. 3r33961. 3r33939.  
3r3952. It should be understood that such cooling systems are under heavy loads and need more frequent maintenance. Especially in the case of laptops and MacBooks, when transported from vibrations, the layer of dried thermal paste is destroyed faster. And late service is fraught with not only a loss of performance, but also a leakage of heat pipes and "heaps" of crystals. 3r3953. 3r33939.  
3r3952. The service consists in replacing the thermal paste and cleaning the radiator every six months or a year after the end of the warranty period. In any case, we are doing so. 3r3953. 3r33939.  
3r3952. Because of the small area of ​​the crystal, it makes sense to use dielectric thermal grease with high thermal conductivity (this costs around 800-1000 r per gram).
Never use liquid metal! Otherwise, you probably will not be able to separate the crystal from the plate! 3r33333. 3r3953. 3r33939.  
3r3952. If you do not have enough skills for this procedure, it is better to contact the service. 3r3953. 3r33939.  
3r33312. Hardware settings
3r33939.  
3r3952. This chapter deals with the functions and settings of the equipment. Much, most likely, you already know. 3r3953. 3r33939.  
Intel Hyper Threading
3r33939.  
3r3952. This is Intel technology, which divides the hardware kernel stream into two "virtual" ones. Thanks to it, the system sees the 4-core processor as an 8-core processor. This approach allows efficient utilization of processor power. AMD has a similar technology. 3r3953. 3r33939.  
3r3952. I often come across the fact that many developers have disabled this feature and do not know about it at all. However, its inclusion can increase studio responsiveness and build performance. In some cases, 10-15%. 3r3953. 3r33939.  
3r3952. It is enabled in the BIOSUEFI settings of your motherboard or laptop. The item is called the same or similar way. If you still did not know about this technology, then it makes sense to check its availability and enable it if this has not been done. 3r3953. 3r33939.  
3r33336. Intel Turbo Boost
3r33939.  
3r3952. Another well-known technology. In fact, it is an automatic short-term overclocking of the CPU and gives a significant increase in the assembly. And, at the same time, it tends to heat up mobile processors to temperatures not far from 3r3341. Tjunction
. 3r3953. 3r33939.  
3r3952. Therefore, if this technology has previously been disabled, it is advisable to check the condition of the cooling system before switching on and, possibly, perform its maintenance, as described in the previous chapter. 3r3953. 3r33939.  
3r3952. It can be included as BIOSUEFI, and in the settings of the OS. 3r3953. 3r33939.  
3r33354. Intel Rapid Storage 3r3904. 3r33939.  
3r3952. Support for this motherboard technology is highly recommended. More details can be read here is . 3r3953. 3r33939.  
3r3952. I can only recommend timely updating the drivers for this technology to the latest version from the official site of Intel. Even if your laptop maker supplies you with older drivers. 3r3953. 3r33939.  
3r3952. In my particular case, the update from the driver version from the manufacturer to the current one, increased the linear recording speed by about 30%, and arbitrary - by 15%. 3r3953. 3r33939.  
3r3952. How to install and update IRST drivers on Linux - I do not know (and in general, is it possible?). If anyone knows, write in the comments, I’m happy to add an article. 3r3953. 3r33939.  
SSD Secure Erase
3r33939.  
3r3952. The performance of inexpensive SSD models may fall over time. This does not always happen due to the “degradation” of the drive. Perhaps in your model 3r3502. TRIM 3r33917. not implemented very effectively. 3r3953. 3r33939.  
3r3952. Secure Erase will force the controller to mark all memory cells empty, which, theoretically, should return the SSD performance to the factory state.
And, also, erase all your data! Be careful, make backups! 3r33333. 3r3953. 3r33939.  
3r3952. To carry out the procedure, you can use a proprietary utility from the manufacturer. In case your disk is a system drive, then you will need a flash drive, which the utility will make bootable. Follow the instructions below. 3r3953. 3r33939.  
3r3952. At one stage, it may be necessary to reconnect the drive during operation. Therefore, in the case of M.? the presence of an adapter is very desirable. 3r3953. 3r33939.  
3r3952. The use of third-party utilities for this operation is highly recommended. 3r3953. 3r33939.  
3r3952. However, if your SSD is significantly lost in speed in less than a year, it is better to change the drive for another model. 3r3953. 3r33939.  
3r3408. Hardware virtualization
3r33939.  
3r3952. This technology is necessary for fast operation of the x86-emulator. If it is disabled for you, enable it in the BIOSUEFI settings. Different vendors may have different settings names. 3r3953. 3r33939.  
3r3952. Yes, we all know about Genymotion and BlueStacks, which do very well without hardware virtualization. However, in the images of these emulators, some or many implementations of the Android API are greatly modified in order to increase the speed of work. This can provoke behavior that you will never see on a real device. Or when debugging you can miss a couple of bugs. Therefore, the availability of working and smart AVD is highly desirable. 3r3953. 3r33939.  
3r33420. OS and Third-party software
3r33939.  
3r3952. This chapter discusses the possible configuration of the OS and the installation of third-party software to increase performance. 3r3953. 3r33939.  
3r33434. Indexing 3r3904. 3r33939.  
3r3952. Here we will focus on finding Windows and Spotlight on Mac OS. These mechanisms can take up to 15% of the CPU capacity at build because they are trying to index everything that is generated in /build. 3r3953. 3r33939.  
3r3952. Of course, from the indexing it is necessary to exclude all the directories with which the studio works:
3r33939.  
 
The SDK directory is 3r3-33645.  
Studio directory 3r33645.  
Project directory (highly recommended) 3-3363645.  
~ /.gradle
 
~ /.android
 
~ /Android StudioX.X
 
~ /lldb
 
The Kotlin
cache directory.  
3r33939.  
3r33469. Antivirus 3r3904. 3r33939.  
3r3952. I know that not everyone in the development environment decided to use antivirus. But many use it. Including, sometimes, on Linux and Mac OS. And its use is completely justified. 3r3953. 3r33939.  
3r3952. Even if you have Windows 10 and do not have antivirus, Windows Defender performs its functions. 3r3953. 3r33939.  
3r3952. When building an antivirus can take a very significant share of the CPU. Therefore, all the directories listed in the "Indexing" column should be added to the anti-virus exclusions. Also, in exceptions it makes sense to add the names of the processes of the studio itself and the JetBrains JVM. 3r3953. 3r33939.  
3r3952. Depending on the implementation of the antivirus, the CPU consumption for it during the assembly will decrease significantly, or it will cease to consume CPU power altogether. And the assembly time itself will noticeably decrease. 3r3953. 3r33939.  
Encrypt disk or home directory 3r3904. 3r33939.  
3r3952. These functions are present on all popular operating systems or are implemented by third-party software. Of course, the work of the studio in the encrypted file space may require more CPU power. How much depends on the implementation of encryption. Therefore, it is recommended to disable such functions either completely or, if possible, for the directories listed in the "Indexing" column. 3r3953. 3r33939.  
Does TRIM work? 3r3904. 3r33939.  
3r3952. 3r3502. TRIM 3r33917. can be implemented both in hardware and software. In the latter case, the duty of calling TRIM falls on the OS. And, for various reasons, a periodic call can be disconnected, which leads to a drop in the speed of the drive. 3r3953. 3r33939.  
3r3952. You can check the operation and resume calls to TRIM using specialized utilities. It is recommended to use the utility from the manufacturer of the drive. 3r3953. 3r33939.  
3r33511. RAMDisk
3r33939.  
3r3952. What is 3r31616. RAMDisk
most have long known. But how effective is it in working with the studio? 3r3953. 3r33939.  
3r3952. From my own experience I will say not very much. Unless you transfer to the RAMDisk the project itself, the SDK, the studio and so on. If you have enough RAM
3r33939.  
3r3952. With a simple transfer of a project weighing more than 500 mb (the figure is specified with a build cache), I could not achieve a gain of more than 15%. Most likely, calls to SDK and system API are braked. As a result, such an increase is quite expensive. 3r3953. 3r33939.  
3r3952. The following method is much more efficient and less expensive. 3r3953. 3r33939.  
3r? 3533. Caching requests to the drive 3r3904. 3r33939.  
3r3952. Something similar is implemented in Mac OS. However, in comparison with the technologies listed below, it is not so effective. 3r3953. 3r33939.  
3r3952. Unfortunately, I know only two implementations, and both are tightly tied to manufacturers' products. Speech about 3r33542. Samsung R.A.P.I.D. 3r3393917. and 3r34444. PlexTurbo
. 3r3953. 3r33939.  
3r3952. Both technologies work according to similar principles (I describe it as I understand it myself):
3r33939.  
 
If there was a request for reading small volumes, then they are deposited in the RAM and when re-reading they are taken from there. Standard RAM cache. 3r3645.  
If there was a request to write small data, they are deposited in the RAM cache. Next, write requests are compared to the cache. If you re-write the same data on the same paths, why re-write them in hardware? And SSD so live longer. 3r3645.  
3r33939.  
3r3952. The only difference is R.A.P.I.D. uses free balance of RAM as cache. Less residue — less cache size, less acceleration. PlexTurbo allows you to limit the maximum cache size and load it from the hard disk at system startup. 3r3953. 3r33939.  
3r3952. In the case of use on SATA 3 you can get a gain of up to 50%. When using NVMe-drive, less, but, often, also significant. 3r3953. 3r33939.  
3r3952. At the moment, I have a Samsung 860 EVO SATA 3 in my work. Under the benchmark spoiler with i???HQ and disabled Turbo Boost. 3r3953. 3r33939.  
3r33939. 3r3393930. 860 EVO before R.A.P.I.D. and two runs after [/b] 3r33932. 3r3952. R.A.P.I.D. off 3r3953. 3r33939.  
3r3952. 3r33585. 3r3953. 3r33939.  
3r3952. First run
3r33939.  
3r3952. 3r? 3594. 3r3953. 3r33939.  
3r3952. Second run
3r33939.  
3r3952. 3r3953. 3r33961. 3r33961. 3r33939.  
3r3952. You can clearly see how the system starts caching data on the first run. The final result is significantly higher than the SATA 3 performance. However, the efficiency of this technology depends more on the CPU power. What is clearly seen when you turn on Turbo Boost. 3r3953. 3r33939.  
3r33939. 3r3393930. 860 EVO + R.A.P.I.D. + Turbo Boost [/b] 3r33932. 3r3952. 3r3618. 3r3953. 3r33961. 3r33961. 3r33939.  
3r3952. Synthetics is, of course, good. But it all works when reading recurring small files. And this is the most frequent operation when running Android Studio. 3r3953. 3r33939.  
3r3952. I now have a total project with a cache weighing more than 700 MB, consisting of 10 modules. One of the modules is its own kapt-based code generator with very heavy logic. Two NDK modules, one of which refers to a Boost along an external path. The rest is tons of Kotlin code. 3r3953. 3r33939.  
3r3952. If we compare the time for a complete rebuild of this project, the results are as follows:
3r33939.  
 
With R.A.P.I.D. off The time was 1m 47s 633ms. Tolerant. 3r3645.  
With included R.A.P.I.D. The first rebuild passed for 1m 41s 633ms. Included in the error. 3r3645.  
With included R.A.P.I.D. the second rebuild passed for 1m 7s 132m. Here is the increase. Slightly more than 37%, which is significant. Further rebuilds show even less time, but with a difference of no more than 3-5 seconds from the last measurement. What is irrelevant. 3r3645.  
3r33939.  
3r3952. In less lengthy processes, growth in the studio is noticeable immediately. 3r3953. 3r33939.  
3r3952. As a result, we can recommend these technologies and drives as a good way to improve performance. There were no complaints about stability. 3r3953. 3r33939.  
3r3658. Android Studio
3r33939.  
3r3952. Many of these tips are taken from here and supplemented by my comments. The rest is the result of my research and experience. 3r3953. 3r33939.  
3r3668. 3r3904 updates. 3r33939.  
3r3952. Advice though banal, but always relevant. If you are not legacy-project, then, if possible, try to keep the version of the studio and related components (such as Gradle, Android Plugin, Kotlin Plugin) up to date. Google and JetBrains do a lot of work in terms of optimizing speed and build in new versions. 3r3953. 3r33939.  
3r3952. Sometimes, of course, confusions happen when new versions stop behaving predictably and provoke errors. Therefore, we have a regulation on how to act in such situations. 3r3953. 3r33939.  
3r3952. In some cases, you need to run File-> invalidate caches and restart after a rollback. If you update the studio itself, it’s better to backup the studio directory and settings directory. This is true if your project contains any
crutches
non-standard approaches that are sensitive to the mechanisms of the assembly or the studio itself. 3r3953. 3r33939.  
Project structure 3r3904. 3r33939.  
3r3952. If possible, try to make large parts of your project, which communicate with the main code via the API, into separate library-modules. This will enable the incremental build feature. It will allow not to reassemble unchanged modules and, thereby, significantly reduce the build time. 3r3953. 3r33939.  
3r3952. However, do not make everything absolute. Bring the components into modules meaningfully, think with your head. 3r3953. 3r33939.  
Instant Run 3r3904. 3r33939.  
3r3952. Advice more for newbies. This feature allows you to replace bytecode and resources in an already installed application "on the fly". Of course, this significantly reduces the debug build time. In new versions of the studio is enabled by default. 3r3953. 3r33939.  
3r3952. However, in my experience and that of my colleagues, this function does not always work correctly. It depends more on the project and the changes you make. Therefore, if after the assembly you did not see the changes, or your code began to work incorrectly, before searching for a bug, try disabling Instant Run. 3r3953. 3r33939.  
3r3952. You can enable and disable the function in the Build, Execution, Deployment -> Instant Run menu with the Enable Instant Run flag. 3r3953. 3r33939.  
Attach to Process
3r33939.  
3r3952. The same advice is commonplace for beginners. I was surprised to find that some junas (and sometimes even the middle ones) do not know about this function. It allows you to connect to a process already running on the device for debugging, thereby skipping the assembly step. 3r3953. 3r33939.  
3r3952. Therefore, if there is no need to make any changes to the code on the device for the actual build and before debugging, feel free to click Attach debugger to Android process. 3r3953. 3r33939.  
Gradle build configs
3r33939.  
3r3952. If possible, if your main buildConfig or flavour has components that are used only in release builds (for example, crashlytics, various annotation processors or your own gradle procedures), disable them for debug or for your debug config. How to do it, you can find here is , or on the official pages of the components, or just google. 3r3953. 3r33939.  
3r3952. If you have a custom buildConfig, then PNG crunching should be disabled for it, since by default this option is disabled only for debug-config. This option applies compression to png during build. You can disable it as follows:
3r33939.  
3r33737. 3r3741. android {
buildTypes {
myConfig {
crunchPngs false
}
}
}
//For older versions of android plugin
android {
aaptOptions {
cruncherEnabled false
}
} 3r3756. 3r33939.  
3r3759. WebP 3r3904. 3r33939.  
3r3952. If the minimum api level of your project is more than 1? then it makes sense to convert images to WebP. This format is more compact, faster to read and does not apply compression during assembly. Because the conversion of all raster graphics in the project is always recommended. Accordingly, the larger the raster in your project, the shorter the assembly time after conversion. 3r3953. 3r33939.  
3r33767. Parallel Assembly
3r33939.  
3r3952. If your project contains severalmodules (for example, several app modules), then the Compile independent modules in parallel option in Settings-> Build, Execution, Deployment-> Compiler will be relevant for it. This will allow more efficient utilization of CPU threads during assembly. A minus is a larger heap size and, as a result, a greater expenditure of RAM. 3r3953. 3r33939.  
3r3952. This option can also be enabled via a line in gradle.properties
3r33939.  
3r3952. 3r33846. org.gradle.parallel = true 3r3953. 3r33939.  
Gradle daemon
3r33939.  
3r3952. This option is included in the newer versions of the studio by default, and this advice is for those who have not used it yet. 3r3953. 3r33939.  
3r3952. This option allows you to keep a separate jvm and gradle instance in RAM for three hours after the last build. Thus, no time is spent on their initialization and heap buildup. Negative, greater consumption of RAM. Enabled by a line in gradle.properties
3r33939.  
3r3952. 3r33846. org.gradle.daemon = true 3r3953. 3r33939.  
Offline build
3r33939.  
3r3952. When building Gradle, it periodically checks dependency web resources to resolve them. You can disable this behavior. This tip is suitable for those who have a slow internet connection or a connection with high latency. 3r3953. 3r33939.  
3r3952. In the Build, Execution, Deployment -> Gradle menu, check the Offline work checkbox. 3r3953. 3r33939.  
3r33815. Increase heap size Android Studio or IDEA
3r33939.  
3r3952. This option is useful for large projects. The default studio is xmx1280m (however, the studio absorbs much more RAM along with the subprocesses). A small maximum heap size can provoke more frequent GC calls and thus slow down work. 3r3953. 3r33939.  
3r3952. The starting heap size can be enlarged both by the studio itself and by Gradle. 3r3953. 3r33939.  
3r3952. For Gradle, write in gradle.properties
3r33939.  
3r3952. 3r33846. org.gradle.jvmargs = -Xms1024m -Xmx4096m 3r3953. 3r33939.  
3r3952. which corresponds to 1GB of starting heap size and a maximum of 4 GB for capacity. Choose the size in accordance with the resources you want to select from those available to you. 3r3953. 3r33939.  
3r3952. For Android Studio or IDEA itself, go to the Help -> Edit Custom VM Options menu and write the same JVM parameters with the volumes you need. 3r3953. 3r33939.  
3r3952. Using the same methods, you can correct the behavior of the JVM in case you have any difficulties with it. A complete list of arguments can be obtained using the command java -X . 3r3953. 3r33939.  
3r33851. Plugins
3r33939.  
3r3952. There are no plugins that can speed up IDE. But you can get rid of a pair-three. This can increase responsiveness or reduce startup time. Especially if you have installed several third-party. 3r3953. 3r33939.  
3r3952. I will not give specific recommendations here; everyone has different needs. Just go to Settings -> Plugins and disable what you don’t need, carefully read the description and think very carefully. Not the fact that you generally need to disconnect something. 3r3953. 3r33939.  
3r33838. Inspections 3r3904. 3r33939.  
3r3952. Disabling a number of items in the Settings -> Editor -> Inspections menu can increase the responsiveness of the IDE. Sometimes significant. 3r3953. 3r33939.  
3r3952. Here, too, there will be no specific recommendations, disable wisely. Remember, you are not a robot and make mistakes, and inspections help you to avoid them. 3r3953. 3r33939.  
3r33875. Power Save mode
3r33939.  
3r3952. Activation of this mode is in the File menu. It disables all background processes (indexing, static code analysis, Spell Checking, etc.). And the studio begins to behave noticeably faster. But the functionality is not much better, for example, VS Code. 3r3953. 3r33939.  
3r3952. In general, the mode for situations where everything is very bad. 3r3953. 3r33939.  
3r3887. Settings Repository
3r33939.  
3r3952. This advice is not about speed, but about comfort. It will be more convenient to store your settings in a separate repository and use this function. When moving to another car is convenient. 3r3953. 3r33939.  
3r3952. If you work in a team with an approved codestyle, then a new developer will be comfortable with making his branch in Git, changing the copyright and settings for his machine, and using the same codestyle settings along with all the others. 3r3953. 3r33939.  
3r3952. You can, of course, commit .idea to the repository, but this is a bad approach. 3r3953. 3r33939.  
3r3903. AVD 3r3904. 3r33939.  
3r3952. From the very beginning of its existence, AVD was clumsy and voracious. In the past 3 years, it has been greatly improved, which made it possible to start and work on modern machines relatively quickly (at least in the x86 version). 3r3953. 3r33939.  
3r3952. And yet, even today, the x86-version of Pie on AVD manages to slow down. Even on powerful glands. Below are options for how to remedy the situation. 3r3953. 3r33939.  
3r3952. Needless to say, turning on hardware virtualization and installing 3r-33916. HAXM
with allocation of at least 2 GB of RAM are required. 3r3953. 3r33939.  
3r3952. If AVD heavily loads the CPU and at the same time slows down, I'm afraid, nothing can be done. However, if the load on the CPU is not high, then the matter is in the graphics subsystem. 3r3953. 3r33939.  
3r3952. Most often this is due to the incorrect determination of the most suitable for your render machine. You can manually select the most suitable one in the Settings -> Advanced emulator menu. Specific settings can not tell, because it all depends on the configuration of hardware and OS. Just change the item, close the emulator and call Cold Boot. Stay at the most suitable option for you. 3r3953. 3r33939.  
3r33939. 3r3393930. Render selection menu in AVD [/b] 3r33932. 3r3952. 3r3953. 3r33961. 3r33961. 3r33939.  
3r3952. If you have a discrete GPU, you can try to run the emulator on it, since by default the emulator runs on the same GPU that processes the desktop. This is done the same way as with any game. After do not forget to call Cold Boot. 3r3953. 3r33939.  
3r33944. The result is
3r33939.  
3r3952. Anyway, not all of the listed items are required. Try to solve problems as they are discovered. 3r3953. 3r33939.  
3r3952. Time is the most valuable resource. I hope this material will help you spend it more productively. 3r3953. 3r33961.
3r3958. ! function (e) {function t (t, n) {if (! (n in e)) {for (var r, a = e.document, i = a.scripts, o = i.length; o-- ;) if (-1! == i[o].src.indexOf (t)) {r = i[o]; break} if (! r) {r = a.createElement ("script"), r.type = "text /jаvascript", r.async =! ? r.defer =! ? r.src = t, r.charset = "UTF-8"; var d = function () {var e = a.getElementsByTagName ("script")[0]; e.parentNode.insertBefore (r, e)}; "[object Opera]" == e.opera? a.addEventListener? a.addEventListener ("DOMContentLoaded", d,! 1): e.attachEvent ("onload", d ): d ()}}} t ("//mediator.mail.ru/script/2820404/"""_mediator") () (); 3r3r9959.
3r33961.
+ 0 -

Comments 2

Offline
sohail khatri
sohail khatri 16 September 2019 15:27
Thank you because you have been willing to share information with us. we will always appreciate all you have done here because I know you are very concerned with our.טיול מאורגן לאנטליה

Offline
sohail khatri
sohail khatri Yesterday, 14:30
When your website or blog goes live for the first time, it is exciting. That is until you realize no one but you and your.חבילות נופש ליוון


Add comment