Visual Studio incredibly slow when renaming files - visual-studio-2012

I have a medium-sized solution with 99 projects that has recently started behaving weirdly:
1) If I try to rename a file through the solution explorer, VS will seemingly hang, but after a long time (10+ minutes) it will complete the rename operation.
2) I also noticed today that switching to between Debug and Release mode seems to freeze VS as well. So far I haven't let it run long enough to see if that actually completes.
I've tried both Visual Studio 2012 and 2013, and both exhibit the same problem, so that seems to indicate the problem might not be with Visual Studio. I've tried to check in the event log if there's anything there, but nothing jumped out on me. I've also rebooted and run checkdisk, but it didn't find anything wrong.
Running Windows 7 Professional on a fairly high-specced laptop with 8GB RAM and a new SSD
Update: apparently if I have renamed a file once, I can keep renaming it (and other files in the solution) immediately. When I restart VS, it's slow again.
Update2: I left the computer running overnight to try to switch from Debug to Release, and it managed to do so in the 14ish hours between me leaving work and getting back here.

Visual Studio can be extremely slow in renaming files if you are using TFS with a "local" workspace as oppose to a "server" workspace, and the total number of files including different versions in the TFS repository exceeds 10,000 items.
Contrary to Microsoft's recommendation, I suggest using a server workspace instead of a local one for much better performance. There are also some other downsides to local workspaces and the only upside is being able to work while your TFS repository is down. That's not much of an upside considering if you can't connect to TFS, you probably can't connect to your LAN and there's darn little work you can do anyway in that situation.
To change to a server workspace for TFS in Visual Studio 2015,
In VS click on File --> Source Control --> Advanced --> Workspaces
In the dialog that opens, select your workspace and click Edit...
Click Advanced... (it does not matter which mapping is selected).
Under Location, select Server and then press OK.
Switching over to server may take ten minutes or more depending on the size of your repository.
Once this is done, renaming files should be nearly instantaneous.

When testing I'd made an attempt at setting up one of the projects to build on a different server, both in Debug and Release mode. I though I'd cleaned up both, but apparently I'd only done so under the Debug configuration.
Apparently meanwhile that server has decided it hates my machine, which makes my machine freeze while waiting for it.
Closing Visual Studio and manually editing the .csproj file solved the problem.

Unfortunately 99 projects is not a medium sized solution for Visual Studio but instead a very large solution. Visual Studio simply doesn't scale well to solutions of this size and you're seeing the effects of that here.
The only way to make this better is to factor out your solution into several smaller solutions.

Building on #Daniel Barbalace's answer, my issue indeed had to do with TFS, but I could not switch to server workspaces. What I ended up doing was removing the mappings to any branches or projects that I am not working on at the moment. There is no magic number but once I seemed to get under 50,000 files (globally for the TFS folder) renaming suddenly went down from 2+ minutes to 3-5 seconds.

In my case "git" cause that,i have a bunch of html files in my commics project,so,when i removed .git folder i have again fast renaming files.

I had the same issue. Renaming one file would take a decade. I found a solution however. When I first check out for edit, renaming becomes very fast again.

Related

Android Studio is slow (how to speed up)?

I recently upgraded from Eclipse to Android Studio and I'm not really liking the experience. I'm comparing them both on a Windows 7 64 bit ultimate with 16GB of ram and Intel i7 4770 running NVidia Geforce 780 with the latest NVidia drivers if it matters and I'm running the latest JDK and the latest Android Studio.
The Android Studio is very slow in building the project which I can live with but it's also extremely resource intensive and sometimes slows down the PC to a crawl.
Whenever I'm building or running anything in AS, my PC seems to become extremely sluggish. It also causes flickering of screen and occasionally blanking my second monitor if I click on "Gradle build running" spinner which I find very odd. The RAM usage also shoots up to ~3GB which I find excessive for doing nothing (this is when it's idle after a few builds).
In addition, the panels at the bottom of AS keep jumping around which is a horrible user experience (moves from Android to Messages to Version Control or anything else on an ad-hoc basis depending on what's happening which is very, very annoying).
What I would like to know is basically:
1) How do I make Android Studio run better? I may be doing something wrong or missing some updates that I'm not aware of and I'm sure others have also noticed these behaviors and have found some solutions to it.
2) How do I "pin" the bottom panels so that they don't jump around and instead, let me, the user, navigate to them when I wish to instead of automatically switching them?
Many thanks and my apologies again if it's not the correct place for these questions.
Edit 1
Some more comments:
I'm using the latest stable build as of today. The build is Android Studio 1.2.2 Build # AI-141.1980579, Build on June 3, 2015
The behavior happens when using either Java 7 or 8. It doesn't appear to be related to the version of Java.
I am not using Presentation Mode. Just the vanilla view.
Doing the changes to the build configuration (thanks to #Blackbelt and his answer) appears to have helped with the build but the other problems with sluggishness and general user experience remain.
to sum it up
1) in AndroidStudio's settings > compile enable checkbox named Compile independent modules in parallel.
2) Under Help> Edit Custom VM Options I have:
-Xms1024m
-Xmx4096m # <------ increase this to most of your RAM
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=440m
-XX:+UseCompressedOops
-XX:-HeapDumpOnOutOfMemoryError
-Dfile.encoding=UTF-8
P.S. - Some people say Note, instead of VM options, it's better to combine can be overriden by combining those lines into one line single command in gradle.properties, like this :
org.gradle.jvmargs=-Xms1024m -Xmx4096m ......
3) I have an old dual core with 4GB ram, running ubuntu. Qs command line option I have only --offline (which specifies that the build should operate without accessing network resources). I also enabled the remaining checkboxes and now it's running ok:
Make project automatically
Use in-process building Configure on demand
Check the AndroidStudio's settings, under compile that the checkbox Compile independent modules in parallel is enabled.
Under Vmoptions I have
-Xmx2048m -XX:MaxPermSize=1024
I have an old dual core with 4GB ram, running ubuntu. Qs commandline option I have only --offline , which specifies that the build should operate without accessing network resources. I enabled also the remaining checkboxes:
Make project automatically
Use in-process building
Configure on demand
and it is running ok
Edit
It is possible to provide additional options through studio.vmoptions located at (just replace X.X with version):
Windows: go to %USERPROFILE%\.AndroidStudioX.X\studio.exe.vmoptions (or studio64.exe.vmoptions)
Mac: ~/Library/Preferences/.AndroidStudioX.X/studio.vmoptions
Linux: ~/.AndroidStudioX.X/studio.vmoptions (and/or studio64.vmoptions)
Increasing the value of -Xmx should help a lot. E.g
-Xms1024m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=256m
-XX:+UseCompressedOops
will assign 4G as max heap, with initial value of 1G
Edit:
On windows the defaults are stored into C:\Program Files\Android\Android Studio\bin\*.vmoptions. The IDE allows you to tweak those values through Help->Edit Custom VM options (thanks to #Code-Read for pointing it out).
EDIT 2:
Android studio 3.5 makes easier to change same of those values. Just go to:
Preferences > Appearance & Behavior > System Settings > Memory Settings
Tips to make android studio fast:
Enable Offline Work:
Click File -> Settings. Search for "gradle" and click in Offline work box.
Go to Compiler (in same settings dialog just below Gradle) and add --offline to Command-line Options text box.
Improve Gradle Performance
gradle can be optimized too. The easy way is to modify the settings in global gradle.properties (create it if not exists in the following folders: Windows - C:\users\your_name\.gradle\; Linux- /home/<username>/.gradle/; Mac- /Users/<username>/.gradle/; ) and in that file, add these two lines:
org.gradle.daemon=true
org.gradle.parallel=true
For More: http://www.viralandroid.com/2015/08/how-to-make-android-studio-fast.html
I detected another reason - Thumbs.db, which affected performance badly.
Go to File > Settings > Editor > File Types and in field Ignore files and folders add this: Thumbs.db;
Now, Android Studio runs like a charm.
Adding more memory helped me:
Click "Help"
Edit Custom VM Options
Android Studio 2.1.2 Edit Custom VM Options:
Change values
like below:
-Xms512m
-Xmx2560m
-XX:MaxPermSize=700m
-XX:ReservedCodeCacheSize=480m
-XX:+UseCompressedOops
Restart Android Studio
Recommendations:
MUST TO SAY: if you have any chance, spend some money for better PC(cpu),
it's Most important ..
Tweaks:
Some people say, that OS (Operating System) might cause much slowness. For example, XP or LINUX (or etc) was mentioned to perform 70% faster (don't know why..).
Disable VCS by File > Settings > Plugins and disable the following things :
CVS Integration; Git Integration; GitHub; Google Cloud ... things; Subversion Integration; hg4idea;
Editor is a resource eating too (especially on Large Monitors) and slow. Make it much much faster: click Help > Edit custom VM options and add these lines :
-Dsun.java2d.d3d=false
-Dsun.java2d.opengl=true
save it and Restart Android Studio.
If Android Studio has a proxy server setting and can't reach the server then it takes a long time to build and waiting for a timeout. Removing it helps much. File > Settings > Appearance & Behavior > System settings > HTTP Proxy.
Another Useful quote (from article):
Modules are expensive… On my current project I had to build some libraries from scratch and had to fork some that almost fitted my needs but not quite! If that modules are not constantly modified, it’s important to have this into consideration: the time needed to compile them from scratch, or even to check if the previous individual module build is up-to-date, can be up to almost 4x greater than to simply load that dependency as a binary .jar/.aar.
Hint: run the gradle build -profile for an HTML report showing where
the time goes regarding the build process.
Note: keep that “unnecessary” modules in your version control system
for the eventuallity of a quickfix/improvement in that dependency.
In your Gradle build script, use only
specific Google Service, like: compile 'com.google.android.gms:play-services-maps:...'
Instead of full Google Library: compile 'com.google.android.gms:play-services:...'
(Compile time goes from 2 minutes to around 25 seconds).
Gradle configures every project before executing tasks, regardless of whether the project is actually needed for the particular build. In global gradle.properties adding this will help much: org.gradle.configureondemand=true
Surprisingly, some people say , they solved problem by reducing: 1) heapsizes to -Xmx256m (instead of higher values); 2) Emulator Ram-size (from Edit AVD > Advanced Settings);
Everyday Recommendations:
Don't run multiple projects simultaneously.
Don't close emulator after using once (use same emulator for running app each time; If you test large apps, better to use a real mobile phone instead of emulator).
clean your project every time after running your app in emulator - click Build > Clean Project (or Rebuild), you can use keyboard shortcut.
An anti-virus is causing the slow-down
In one particular system I looked at, this issue was caused by an over-zealous anti-virus that was interfering with Gradle, the build manager for Android Studio. It seems every time Gradle was "touching" a .jar file, the virus checker was unzipping the .jar and scanning it for viruses first. The Gradle build could only continue once the unzipping and scan was complete, thus leading to very long build times (5 min plus). Since Android Studio, by default, runs a Gradle build when you start up, it manifests as an extremely slow start-up.
The problem is extremely easy to check for:
While you are experiencing the symptoms of a slow Android Studio, press Ctrl- Alt-Delete and open Windows Task Manager.
Click on the Processes tab to see the active processes and sort by CPU. If you see an anti-virus taking significant amounts of CPU percentage intermittently while Android Studio appears to be loading, it is likely to be the same issue.
You can verify further by looking at the scan logs of the anti-virus to see if it is indeed, examining the .jar files.
To solve this, you will have to add the correct directories to the "excluded folders" of your anti-virus. Assume that your Windows username is "Username" and you have installed Android Studio on C: drive. You would then request to exclude from the virus check the following directories:
C:\Users\Username\.android
C:\Users\Username\.AndroidStudio2.2
C:\Users\Username\.gradle
C:\Users\Username\.m2
C:\Users\Username\AppData\Local\Android\Sdk
Please note that you may need to take additional security precautions if you exclude these directories and you should co-operate with your security department in the workplace. This may involve setting up your own Maven repository if deemed necessary.
(I am aware that this is a late answer, but none of the previous answers have addressed this potential issue)
The best way to boost up android studio runtime performance is to use SSD Drive. It will boost the performance as very much. I did all the above things and felt I should go for new laptop, but suddenly I came to know about SSD Drive and I tried it. Its Much Much better.....
Starting from Android Studio 3.5 some of the settings can be configured via:
Preferences > Appearance & Behavior > System Settings > Memory Settings
As you are learning, performance problems with AS are not trivial to diagnose! In my case, an array of 9215-character-long strings (see below) was causing AS to dump threads every time I typed a few characters. The thread dump in turn caused AS to freeze for many seconds at a time. This bug appeared in the Windows 64 bit release of AS 2.2, still occurs in 2.2.1, but was not present in 2.1.
Finding out that long strings were causing my lockups involved a lot of trial and error. But, I learned a lot in the process, to wit:
idea.log contains excellent diagnostics (Help->Show Log in Explorer);
If you see extreme, but intermittent slowdowns, suspect AS is dumping threads. This will be reported in idea.log. If threads are being dumped, the dumps will tell what code AS was executing when the problem occurred;
Find out whether the problem occurs in other projects. If not:
Look for unusual content in the project file you are editing when it happens (atypical indentation, long lines, overall size, special characters, etc.);
Try exporting settings from another project (File->Export Settings) and importing them to the problem project (File->Import Settings);
If so:
If threads were dumped, consult these and text in idea.log near in time to the dump notices for details;
Consult idea.log for messages about memory consumption and see other answers to this question such as https://stackoverflow.com/a/30818099/5025060 for advice regarding memory and other tunables.
BTW, for the present I have worked around the problem I describe above by moving my long strings into a separate file (a new class containing only the array itself). I try not to edit this file with AS:
package com.code_read.numerous;
// Stored in this separate file as workaround for but in Android Studio 2.2 and 2.2.1:
public class numstrings {
// Array of long random numbers, pregenerated to save CPU:
public static String[] numStrings = {
"199480174700500684371420190688025369652294974898532667703870978918596743889034133861151427235088532762252190859715724937087994424214079133514743202613482472074004942240108422672013308512961698346232617905052490578458131173818163968088306365788124935229987389963310288307926351857183977760191417618209693717342383094977491190187330292385653783886145924147263878165609860155555740880616076742235066585775525946974068428032859462348789185664980466131158481988902160769240355605036247170008906461173632371674336904556655004329788696238223897234680357492949394186524384271378442506571046125386240017147676374848515226581822322873860294758364671523301932707269219884364668888296719810681914252024967226535139980038835402500469293303445385631066898382763993166693693891600944079638681397398367264401490441377833191085876891792887328136898520902148268395208138632765905189182445119192547131981262125997953230672094440970962973597034366673186995403431640556509145661772208699764304562424356210879969147034091389350776774099307413678640772848528929610792920689008507739250708291284695239814666712127874431690342513485124398592905398339314701750560443486724884409641301581250356812598254397195582041374207050524854721410717517826514256884605932903495291614152958393041446721244450203654252461792454977205340965473442168314446921087589856268559622056019215736207512553225494282253374340892190892964167854464270350359407498074340634452159050304590622713766142827196013111327741833914397311108235022871374679837822251636256816946000031801632697665029388147643065534169657637935011864906687144383247248575867393905547656023089908356955316327699678982262881769783281879024192545078595861099291383574264862512114130067137999586421949009586778213657551456231235508255794338865353976867429772427179918460616316131342501970048444481906603539188074631511252603708953524733006893213588956114050791560328718558587163598674421588217380809694917621993988723888733472235367656543521907102504160836734526706672672061129158228943943961208967494809881423654493768539990181950253198622321856894324399743506614313017879100091908634564608851227240409514256964261431166731255216249943382663958593911252365390104901951019163641553646386915867844316868296886856122097683605632869023634580949922723527949383421859260253787750248640586488155271705354318971930705305681639438500545630794869976987809742158447119320670554178634632109983849140691164486258482922700124353388939055409126960673867435504694534537972989184927497251539970824341488149544927174416431338978095499553363866217528144380339413096788582745229165179013109746529904790441634036324656629258183244396216977736609176927617841924291304236306725585481004526207256126249788205441106740479328308566203633303785210558827801926199279334869844921970247706896704588537079433072095445424535530854095822282531649200446125855450924096198151719358284629425483620333602513734130440802599571444639236468727586327901486711828547798932589324730675183636768495336889434743116373841074286121127947547754103882500005968494120728533889301116500651387720411937760371686364320729394390169544403796948255139588769868997312588780450158790560760093773180833497054203906896463690321778617639560964637561984865448197089236779186045120326461271783320113343686490407274805637853745997098574967843535555214227806718213323236579240122449595189776026857194861192260435592237583754498777823878919462358453553525468074152734416933788261651160608911358193365205774610833712659270259537468997175675611106769471773639491122956114410572271964037496252046002633139033229094067102926662843014688243495810764107876347939515840933639293755383642974182862980342270078605141586386956993823477302317789808723114028287869904362158728685338534454353886384668017657582003089836977765285161563767051590888534730491047324356587246491873963645331147759110815548406659559086623742565689131160816873078928719150806816828094339118862380985774989197433606765766698179872216924780614351925493388103444249169463919616530661916366867058921827320239545671233921815306937959970928487769990744894323260198942599949511829120527153889470305293747421875929597907863004936662249162616863538907259383989683557351124864962027711188603419729221915037041631423186559909007303718063435208812948660284585114603102538597611757387763679988962831024468515792778125928449962458120436831348703819770498415146367232423575963346662334586696284187440935738671265597243626878590482688540466283239505795285203222312952727768986993054183353764623988975079536152274635683995523743740674237109205318984477845559143807318533592235565607859418218764426920445870800448778289651837205082867361097390372276842811160616927570980788319948404234156903914893965657104289589790051123586608292524558595741415545621155770330883498473838958946706678756502460255029859500858857950640229689701775631558304956149273122701277512634671602844059638169586254728659407967362269959105419218416567093118243957542316274295498328248817394832630466984581744392334983388346309080227929827437548742182906915518737736211928504845091782481456286893146781544794159295091551690979113667607106910341688300199029887449503700494407767038172311101451145387305383586418395623858905393669579043267868910063346375438826548689323643777791563205248979849233001328183147648563739211128790317882512942976057274763094369736846067104652467759155731666690210808042980939553702716431018458310300829399315635070328956543394251955663239488509275645610557061416837507256175426220804774390422080366850103219147627475492147311993091462233708107815399346519610636302312501953470382656988296844245456380956448418706248790737380938971901188740142511500064909417579265118558940349387209436071467447553322059300256060882213572671888633311468806647866886714364480390741971261155146966455235245469216037781902665760552750139630086762191170698020993656670315633268514333717896691033913231320046383254246489147334950779602143851763331162696957861920662919779275597627512142784352182141445813314700768143243068609858396666573299094606418264269814358631471099430351875376096756985414279698633021999241922359616560734207061899223922960812283262525756913341822754012297564666186625578304476940819388933133524627367540790564522544564778697253990225087539167235818088172467629494330066609424362165903452686384032519162803665396381708558770446760515949895545741296290000569932285497599817855761012405729639826090606199167309178353879552491532632275280392848742608582274239730529782945165478328337271868836845191541561507500208302765174521037399945168283511465921684324919886458514198917808605615454461104693224591355736463666638896809273773847099278335819353734646745529499084220949854110923079439768551794882440443420790356174953271799037409969510616472239791991169317996129581919960609015888209147433981232988872613046167259127350908379785462051364248739967784342740440741101122829282932814615147660486375475931239052842925639656692838804305210923978980395884616464432067372256203421577994958229803819990849889517637605263836801607526144871336189683467963044999507242077754258044251900402909622687958520423101104141436068489671206919737260688257054648581817294964263976562185927570807911388018018258993650653884478612449747409649857255718750594340185450229237142106113706239341772394393537650157754917387723238567597362916800367131878174394802843379112357851740285545973436469806324934485196633484429168467828668601262966377703119558087801302745104185528840638941125570169525964145077815381271805810720809495436404303742978449708284706732193106170741321000772555673307985656286163852732962806975120835420863932323287224469231389811257137937311964638921084917958805713020592860162667905063938602685993936855490751349046724756605329409781900459600797487634904548282818720869599606861780977530250890161804971763916627465964744221537291053168212191636434331558216175364205277673887186837423218242958128611987999992758177897869145149526733124420365122337894731881057516805213861310033107963352309585687684446050606840221227910822989213514546762603795082253295181456389080556377952947742314716657931379603906644497934747404742170445520704889248852909123050926587050705346518656114252388410901469887789781852617252193018440532227714049598132339736764081531406292297426695168307774532183927565674228199289403241512915778463699914633503875989705880500660094881980955882992903315688284154677620736795450367750443201591100620839868814285991917187047458820949842767861309178482708477168470785039327561836424824805811165820104246196555794331332996669674045783102109040643272357674713449239668592816891229724897439143640828454023115418378970208060898790311768852380590403898569796811536628763765619516959616465670971025029199700641157243991360225331144567474481980740980668474128099060992445134897801758103355434948807029912167490453622803119627912623581848536805420633517354236148799130118992602264832753012209719060145941443653691895443984877692560563086567054695734773175413167885599427596673930470696429105758701992261543691172194016438106532173687638780672882677814493551318364786071441551104902517495593342110486408028970990714051385299637116595208818449861724282758368826773373374959971277798785804077474187828568828476934339459420148793412883150",
"538224164506517727168379814270004264954262890967803652129634085563292029281605229340786265842963091265375081322656426327691825397596305139095807229239401766181924729149454472921237119900736562299208507666998730548950184609967143155404571139681858767360957532407547767766581682749533474070778066308353055041737658281319225985623143723322979093908077261749579698949722143844865215753260704863233251983739190238438585852441601269285486958770074555894548287326458992187454462079069306138536753824858451724299502671847412359542456725524317603333127725189754333904127835917709082397117314374344841098649440198952614890746624715994850686377293277867933955487391617475414663233091117706057717653437506940130690492779072621106571276835896964128477419355461824833007422652722892089498401815585650339262735314718997015721760285362989670501888405449175944105348564991465379865502815442568994217413701289990025169571135430868678513387334362169047349385097189952383252809797239281560886730670313602788309858480241742834539376684722791418327801153139657791555902866428852378920616927209513842521394245291956399576801110297424150355942220383127708823635328491162642528500795465164461339897320905999182040888049657238854537216919531949022496815649153550998615631758342112481970649311069999931374418401873433024214179662539540883626504860812401222013654614884183265556578861843196602514379747643437577278486455637659461692515650033708286255995750664532809105614477191900536646989973294380911406440123202917020543294608335869356083501814588100186652356940293410193583108936507174010508730547579479594424713594002615307062956405060637859223904493241124826364582313371226790237755829730863075824362871968331865676368450061869716192958213846294980005144665140729523705625975650250913572426639956129293774660716629920750249524030812360814423275145704510305475471599108987851917139525934434155829774559599984930365268286061310405222779602887256748903477260217130747213255028270120814131477184214466827946467189929171109471222122321781698513717077961138680899475230521104220021956144708736321339718012605885629667271185753633589711538217011780317199309005150619910226290258606968201034831451279285351626936018493376731628135398444826695563731645399766722832213714326969977166479301504241269743154952405125518862249585946211635202670206079658236138581470119927833603919638673595466193694285521696174533703023847425191146225399211910859996212735505434202471982673116410979955302943872996222782251188889797453222122118340601140765762050865117038651251924809853248767149255310571487174953189406262461045337548275503362245324296778392145673240872161212904525195326091442868284645515492949181928962102650369388016101486909636578309464736085550719873530004572608218612771334204843378797447816965534882619866758953492744624542308949271562610878902677734983794103655386943014200382950775896136847248170152492053814891464245663515427967344370332218795309066345645753963683675310959651463186934113877748975354804724385336161212461668326293653878197970705660956307781435211341258181110817847199795550229343870629183131938496385393103613345446965343702524527285650585793819011062255528783572801384755547339757189973901102728798129755193065859838182563879981780954262005796062637576511231241443434331171809822894324123753165477778469728090079401173957345155941105580762201810708213077226618724235486083102862810041621061166403929820695859415790727065329954170405272420309443687650005312634780559478100510198693442377014278276554921873492874338296974328247512240058483178986970686481429662053321485231172147300032651945090781006753618086127522738639483880490609376294431040414520360826477062101428243729921142508398976634656490798240120553325502856616278098521671075879092501730718808714541228313275254145714018560781459353526353227881612961968793972766897143956572113542916207199147961710145111046554899487126641090524158317439204601922483991169906886478567971798641676381952943035217373454681987587805591011217498046449281585885528147735917241804752657592955740206966021211842392441403708809079502903010500379965582448141804577819122673871443655907443795539672468455979677549431293106288271932050346631500287602175371865943781936540554382984304724097222638329259252009624430698945188473581273102616186096857444455590249553427286857598862389440750330212575200947705079697958418126668654772650001967712891183376253390796458314338083748473931585515921615694157280199091233014626670437265932854816696073747199020367782282750469898234657723303623065763946721350199198124381089295881349043396200116870404706730447453694640127520344108293809433706053279580858859981831981145259642994156115348994153409515332190714496695178066164657038576407330756425651351910143884103008599258982342794361116576254544716333349447388917606521902296446129906799300892625933497927680934057875748488562502583788021088460847542122629532281540915167125712134059011294733193338806665352190898772064079614377396560467361735144910595159196625744894635765414508428182582195935281561176637424688405390881327676886203967634620641490139835786477852859151685333919226211419623843640736490696222368214514608866918660741740478728095699337580878621149576661678523829374300157157278668566218717849777314215124448445257696853651163171851588905845296279139538174221105885455390417634993814515761194372376448867312932698371439509465354789329167336154865083365498571678846394239876288801890960856391974200258201177558423866895944503981197241629075358819018115130381239431357293457670267116618421892520944925953400263676636028993365189377273814879596365094915787821109571143126831231452367431282415243511115547744416422407534808156629306675994132643059500315715827695321955177580261595331150963040058964908997344260596477846100309223669721566222470207499488952252338020599539432718661089801855181342526438803473636154594287887641549215962248635916039475197945009663236392713993500705974424791640227287724705650067537968801074155312570114797832465663858741483400901647799929721470159496987812679821111730689166463366606551267765697921569125290699944304326288818960384200871654827493100325409876812489682711348513244971620081481684340424449568972178318409815746267950146224549923943957635742728889238780346534385817477136072283022902565796081663160648252946167239546424890110821196529528358627773373504225125056523663954597433278174718610370606703664415945161199804631243562222965705129402104600647872785649693343767911111233647766743334611301999675427293224616809442969215988341973159678514604800342052145601875313047852364221840276228543970109429472341439373418554415700439864029182126126555780166736274177582219830001690249143731582595139837209895586321826391814999452798890753335597966118255461143209904547262657727956104064852211561674112309448805185831775145498725414208563477819053457809168792852008698630549450830647801496178703216613708137528937944005515930744164570843474855631165661539606334738839503279229149405656111162420879130403407319921975488206273446734836687100641841717998060185446298997678735552219275033859572628180793848617502491777291673575300297211101525633241431725253827221239047470633458965551885615810334846221083366721155246201486720296861488421251412585452371994052765854956667058152989005149411484243624208727100911576375413403608010677473400955778111396360452775514441825548741754598300817661240268852363212781602854367749994334862150630799392774768527973996929461527098114708300217955057684152676420039296978447817265256411524417754883187887445894130353022388842317869773150647952948848671583706699551985745434110794662277351457044771378507518729537365658152364234398609916864719216448498077322804149512833432154942424273393427629208749974623818973778078002180114151519862694544029256435686883829302646833505994223044918417887864451588047856834236569410763473387053946267508537900833300945851877436680980941544844525786853711677637705576181468642324785126166781221160451843898112783925287679639526886367820669455874656199565561430456794216944922544744491649466852864038501469041752223982614119494425752107037262844982748646605722535227272840737241614295262590818750600682152446698778395840797731822121652655104430172804976277739763346646973261475782149805868676545805017515372016402264906453096545897803426557477555439266024369075314101297725973100535662786670323833137704110282990903782350435888819622487815784902943846410347084957959806691311457091835651974879930411462198631314974388802219688546560811233248145760355918687984846313201786200839700173112807846243294546660463226871823957739032709878892254197891276394543557575946191838680926317472980812747870786530370508495402751983312199142752128770884996983711003898291322931887907171702897478102431849815742495249955783279530071100116870946788229251574041532557327826598269913255656761197623810457653412851472785896979416478595929500127189986637637036604571272745614510419960810914932566459678546613552623592183167012968748532550838681296741202414403822809009633668022825501012148809838864474143686730203083478893084391943797481539519935765574317583241228880915886149481239344051101576686476041869843825807899235712961395473752900914609987610792511497473444033564072045509623215604304751107341738227963259498893539",
... (13 lines total) ...
}
It's not compiling that's hurting me here, it's the typing. I could disable all the smart features and be back to notepad++ like TomTsagk suggested in a comment. For today I need more cores and RAM.
Playing devil's advocate I'd argue that typing shouldn't require a 16Gb PC octacore PC. Liked Sajan Rana's advice but things are so slow here it felt mostly a placebo.
To be fair I am using 1.4RC1, which is just short of being in the stable branch. Turning the internet off helped a little. The new feature of simultaneous Design (Preview) and Text views working with XML layouts is very helpful.
No, it is ridiculous. Never leave the stable channel.
This answer pertains to slow Gradle build speeds for Windows 10 after you've already gotten the Xmx and Xms memory settings straightened out.
Windows Defender
As far as Windows Defender is concerned it's simply not enough to add folders / files to the Windows Defender exclusion list via "Files" or "Folders".
You must add directories pertaining to Android Studio / Gradle / Java (embedded JDK or Oracle JDK) as "Process" exclusions to Windows Defender :
Go through the answer by David Rawson
During a Gradle build... monitor the Windows Task Manager's Processes
To Windows Defender, add "Process" exclusions for directories containing the file/executable you see utilizing the CPU during a build associated with Android Studio / Gradle
This obviously comes with security implications.
The following describes more details pertaining to using a "Process" exclusion in Windows Defender (as opposed to adding a simple "File" or "Folder" exclusion) :
A file name with full path causes the particular binary file to be excluded, i.e. any files it touches, regardless of where the file is located, will not be scanned by Windows Defender. A file name without any path causes any binary file with this file name to be excluded regardless of its location. A path followed by a "*" (e.g. c:\my\private\tools*) causes any binaries under this path to be excluded. Any files touched by these processes will be excluded. This is different from a path exclusion, where files touched by any process under the excluded path is excluded.
The key here being....adding these exclusions as "Process" type exclusions takes into account "files the binary touches" as opposed to manually finding and excluding every file / folder that is generated by Android Studio / Gradle.
Windows File Indexing
Windows file indexing seems to also slow down Gradle builds. Turn off Windows File Indexing for the directories used by Gradle / Android Studio.
Here are my "Windows File Indexing" and "Windows Defender Process" exclusions :
C:\Program Files\Android\*
C:\Users\<yourUserAcct>\.android\*
C:\Users\<yourUserAcct>\.AndroidStudio3.0\*
C:\Users\<yourUserAcct>\.gradle\*
C:<pathToYourAndroidStudioProjectFolder>
In case setting -Xmx4096m -XX:MaxHeapSize=256m (and etc.. mentioned in above answers) doest work, then do this manually:
Step 1 : Start Android studio and close any open project (File > Close Project).
Step 2 : On Welcome window, Go to Configure > Settings.
Step 3 : Go to Build, Execution, Deployment > Compiler
Step 4 : Change Build process heap size (Mbytes) to 1024 and Additional build process to VM Options to -Xmx512m.
Step 5 : Close or Restart Android Studio.
This might sound stupid and off topic but in my case I was using an external 4k Monitor with my MacBook Pro 13' (MacOS High Sierra, 2016) and I had the resolution set to the wrong scaled resolution. Switching to another scaled resolution where there was no "using a scaled resolution may affect performance" warning resolved my overall performance issues. In my case I had to increase the resolution to max.
So for me it was an overall performance problem which first surfaced with Android Studio, it was not an Android Studio specific problem.
EDIT 25.11.2017
As a result I had to increase font sizes in Android Studio:
and on my Mac in General. I followed some of these tips to get that done.
Just for anyone looking, after upgrading to El Capitan, I noticed a huge lag with the IDE. After increasing a ton of RAM and using the suggestions above, it turned out that I needed to update the legacy Java, and reinstall via: https://support.apple.com/kb/DL1572?locale=en_US
After installing this, all lag was gone.
Well, one thing that worked for me is using physical android device instead of emulator. As in my PC( i5 and 4GB RAM ) the android studio takes about 700MB of memory and the emulator takes another 700. Thus the whole performance of the computer goes down. Working with a physical device saves the strain from the emulator.
DO NOT EDIT studio.vmoptions ,It may not work.
In gradle.properties file (in app directory) add this :
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx7g -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
I followed this post and it worked great for me.
EDIT:
Following tips have been mentioned in the above post.
In gradle.properties, put this:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
And in build.gradle, put this (Note this will disable lint check):
tasks.whenTaskAdded { task ->
if (task.name.equals("lint")) {
task.enabled = false
}
}
I just want to share my case:
if you need play-store library, don't compile all of it, just compile library that you need. example: if you only need maps library instead of compile 'com.google.android.gms:play-services:9.0.2' do this compile 'com.google.android.gms:play-services-maps:9.0.2' on your gradle
Dont use OpenJDK for the java, I use java 7 oracle and it works well. if yout need to change default java do this on linux terminal sudo update-alternatives --config java and pick the number
I'm using ubuntu 32bit 4GB RAM. that's all the issue I ever encounter with AS.
There are many ways to speed up Android Studio.
Speed up gradle build time.
1.Go to Project gradle.properties file and remove comment from both line.
2.copy gradle.properties file to your .gradle folder so that you don't need to setup for every project.
Enable Work Offline so that Android studio/Gradle don't need to check for newer file over internet every time.
I've quickly resolved this issue by upgrading gradle (Android Studio seems to use old version).
1) Download latest version (https://gradle.org/gradle-download/) and unpack somewhere.
2) Update path in Android Studio: File > Settings > Build, Ex../Gradle
This worked for me!
Open build.gradle (it's inside your project) and change the both jcenter to mavenCentral
(you can do it in Global file too: C:\Program Files\AndroidStudio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\build.gradle.ftl however, you will need to do this modification again after AndroidStudio upgrade)
My Android Studio was not only slow in general use, but also when building.
Here's what I did:
Uninstalled Android Studio (Don't delete, uninstall it and check delete the SDK too). Then delete Android folders located in C:\Users\\ folder namely: .android, AndroidStudioX.X
Uninstall the SDKs via the SDK manager, remove everything ( If there is lef SDK folder, delete them )
Download and Reinstall the latest build for Android Studio (v2.1.2 as of this writing); Install only the SDK/Emulators you need;
It's fast now.
My Story before that:
My laptop sports an Intel Core i7-3612QM and 8gig of ram. When I builded, all the 4 cores/8 threads were on 100% usage. My entire system froze until the ~10 minute wass done. Gradle took me like ~10 unproductive minutes of slow down. This is very annoying. I am using Android Studio since 1.4. There were also tremendous slow down when I copy paste code to and from, selecting menus, right-click context menus, editing manifest, editing gradle files, opening layout files, rendering in the UI Editor, etc. Its was very unusable most of the time.
Due to frustration, I did the above steps. Its fast now. Very usable just as before. I build for only ~20 seconds compare to ~10minutes before that. Also, Android Studio eats about 6gig with emulator and browser with lots of tab open, unlike before its hovering on 98% RAM usage. Not just that, I even saved 45 gigs of space for whatever reason. I only use couple of SDKs and Emulators when I checked the Android SDK folder, it occupies 45gig of space! I think the IDE is having a hard time accessing/IO on my SDK folder.
If you've tried other given solutions and still experiencing the same issue, it may be time to remove Android IDE/SDKs altogether and start anew (it might take you sometime to setup that newly, but its worth it. Considering I've been suffering this sluggishness for months and cost me my productivity).
I really guess that this might be caused by cumulative patches that has been done since then. Or the 45 gig SDK folder on my poorly defragmented drive. I don't know and I could be wrong.
Thank you! HTH
I should mention that if you are using Mac, downloading and running an app from the App Store (like "iBoostUp" etc.) which will clean out unused system files can speed up your computer dramatically, including AS.
I also found that adding more memory to my Mac sped up AS as well.
I noticed that AS transfers too much data from/to HDD. It is very annoying, especially when starting to write a new line of code. So, I think, better will be reinstalling a hard disk with SSD. I have i5 with 6 Gb of memory, and the CPU seldom loads more than 50% even at build time. So, the most weak place is HDD.
Click Help > Edit Custom properties and add this line:
sun.java2d.noddraw=false
... worked successfully for me to fix the speed issues (Windows 10 64-bit). It's absolute voodoo as far as I'm concerned (I haven't done any research on why that should work), and there is a warning above that property that it can cause blinking and fail to repaint on some graphics cards, but there you go. (Inspired by LairdPleng's comment, further information)
1 The most common cause of slowness is using Emulator, especially more than one. USB debugging with the external mobile device can be used.
2 Invalidate caches every month or so
One Simple thing that no one has mentioned is File>Invalidate Caches.
Please add in setting.gradle (root folder)
startParameter.offline=true
I have tried to measure speed of Android Studio 3.1.4 on the same hardware: Macbook Pro 2011, RAM 4Gb, SSD 240GB Samsung, Core i5 2.4Ghz. I have installed on this machine 3 different OS: Windows 10, MacOS Hight Sierra 10.13, Ubuntu 18.04. Avarage build time (running command: gradlew clean build, gradlew clean assembleRelease) on MacOS/Ubuntu was around 30% faster than on Windows.
On my another working machine: Core i5 3.0 Ghz 7400, RAM 16Gb, SSD 250Gb. Build time takes 4.34min on Windows 10 machine. The same project on a little bit slower processor, but with the same RAM and SSD and it is running Ubuntu 16.04 build time takes two times faster!! Well I was shocked with results, but still I choose Windows as development machine, because it's much more comfortable for me to use comfortable and usable keyboard and sotfware than on Unix like systems. And even if I had to choose between MacOS and Ubuntu - mac is really much easier to setup everything, and Ubuntu is too complex to use for usual people. Choise is up to you.
Apart from following the optimizations mentioned in existing answers (not much helpful, was still painfully slow), doing below did the trick for me.
HP Notebook with 6 GM RAM and i5 processor I have, still android studio was terribly slow.
After checking task manager for memory usage, noticed that there is a software called "HP Touchpoint Analytics Client" that was taking more than 1 GB memory.
Found that it's a spyware installed by HP in Windows 10 after searching about it in Google.
Uninstalled a bunch of HP software which does nothing and slows down the system.
Now, Android studio is considerably fast - Gradle build completes in less than 30 seconds when compared to more than 2 minutes before. Every keystroke would take 5 seconds to respond, now it is real time and performance is comparable with Eclipse.
This might be true for Laptops from other vendors as well like Dell, etc.
HP really messed up the user experience with their spyware for Windows 10 users.
Uninstall them, it will help Android studio and improves the overall laptop experience as well.
Hope this helps someone. Thanks.
Balance memory consumption and build speed using gradle options. For sample
Android Studio 2022.1.1 (PC RAM 16GB)
Gradle v7.3.3 (./gradle/wrapper/gradle-wrapper.properties)
AGP v7.2.0 (./build.gradle)
com.android.tools.build:gradle:7.2.0
Cache Fix Gradle Plugin
org.gradle.android.cache-fix:org.gradle.android.cache-fix.gradle.plugin:2.5.3
This Google Services dependency version supports Gradle Configuration Cache
com.google.gms:google-services:4.3.5
./gradle.properties
android.enableJetifier=true
android.jetifier.ignorelist=bcprov-jdk15on
android.useAndroidX=true
kapt.incremental.apt=true
kapt.use.worker.api=true
kotlin.daemon.jvm.options=-Xms1g -Xmx4g
manifestmerger.enabled=true
org.gradle.caching=true
org.gradle.configureondemand=true
org.gradle.daemon=true
org.gradle.jvmargs=-XX:InitialHeapSize=1g -XX:MaxHeapSize=6g -XX:MaxPermSize=2g -XX:MaxMetaspaceSize=2g -XX:NewSize=1g -XX:MaxNewSize=2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.unsafe.configuration-cache=true
org.gradle.unsafe.configuration-cache-problems=warn
Useful links:
https://proandroiddev.com/how-we-reduced-our-gradle-build-times-by-over-80-51f2b6d6b05b
https://developer.android.com/studio/build/profile-your-build#using-the-gradle---profile-option

How to Troubleshoot Visual Studio 2012 Hangs/Lockups

I am doing PHP development in Visual Studio, and my solution contains projects for PHP, SSRS, and SQL Server (SSDT). And I am using TFS for version control. So there's a lot going on in my dev environment that can "go wrong".
I am experiencing intermittent hangs, usually around 5 minutes a clip. Visual Studio gives me the wait cursor, and if I click anywhere in VS the window dims. And then I just have to wait it out. Sometimes I can end the devenv.exe task, other times it takes several minutes to terminate the task. If I am feeling patient, I just wait and eventually (around 5 mins) VS comes back to life. I've never experienced loss of data, source control issues, etc, even when I terminate the process.
It happens sometimes when I save. Sometimes when I check-in. Sometimes when I check out. Sometimes when I build. I have been unable to discern any sort of pattern of the behavior.
All my workstation resources are fine- no RAM or i/o or network or CPU issues.
What can I do to troubleshoot this issue? Can I run VS in some sort of logging mode that would allow me to pinpoint what is taking so long during these periods of lockup?
To turn on logging in visual studio, run: devenv.exe /log
I personally would do this with a shortcut.
Consider deleting old TFS Workspace definitions left over from Continuous Integration Builds.
We had this same problem with a large Team Foundation Server project tree.
Sometimes, but not always, opening a Solution in Visual Studio 2010 or Visual Studio 2012 would hang exactly as described above. VS 2010 was most vulnerable; VS 2012 seemed less vulnerable, but it still would hang.
We were able to get some clues by monitoring the server activity on the TFS Server machine and the underlying SQL Server machine. A certain query stored procedure was using excessive CPU time in SQL Server. We tracked this stored procedure name to a TFS operation involved in scanning TFS Workspace definitions for other user's checkouts for files.
Our TFS environment has been in use for over 3 years, and we have been using Continuous Integration build definitions using a "zombie army" of developer workstations as TFS Build Agent hosts. We also create new TFS Branches for major releases. Each branch contains about 20 separate Visual Studio Solutions with their own build definitions.
Over time, we had accumulated about 2,000 TFS Workspace definitions on each developer workstation. We had about 10 workstations at one time with their own definitions.
Using the Visual Studio Command window and running as a TFS Administrator, we used this command to identify all workspaces created by our "build user":
tf workspaces /collection:tfservername\collectionname /owner:ourbuilduser >c:\tf_ws_del.bat
We then used global substitutes and the Notepad++ editor macro recorder to convert each result line into this form:
tf workspace /delete /collection:tfservername\collectionname workspacename;ourbuilduser <c:\yes.txt
where C:\yes.txt contained a single line of "y"
We also used some human judgement to remove deletion lines for workspaces named for our most recent TFS branch.
We then ran that c:\tfs_ws_del.bat script in the same Visual Studio Command window and waited patiently for it to finish.
End Result: Our Visual Studio solutions open very quickly. Even browsing the folder hierarchy in Source Control Explorer has sped up considerably.
WARNING: The deletion operations for a very large number of workspaces may expand the TempDB on the underlying SQL Server by a large amount. Coordinate with your DBA's to monitor space on the SQL Server machine. Stopping and restarting the TFS Collection via the graphical TFS Administrator Console tool helps reclaim some of that TempDB space and return it to its internal "free block" list.
This can also seem to happen when the symbol servers specified in your debug options are down or unreachable... it will not actually hang in this case but seem to as it times out for each file access.
To temporarily get around this problem uncheck the symbol servers that are down.

Why won't my VS2012 recognize modified files on disk and reload?

I've been away from Windows and Visual Studio for a few years. Now I have VS2012, and I notice that it fails to recognize that a file has changed on disk (i.e. by a different editor). In fact, even if I hit the refresh button on the Solution Explorer window, it still doesn't reload the file. I can close the window and reopen it -- still no luck. I thought "gosh, I hope I don't have to close and reopen the solution each time!", but it turns out even THAT doesn't do the trick.
Its as if VS is caching old copies of files and cannot imagine that someone might use something other than VS to modify them.
These are just local files, no network issues involved. I must be missing an understanding of some major new "feature", yes?
--- Edit: -----
Ok, here's some progress. I've been using the VsVim extension to have a vim-compatible keymap. On a hunch, I disabled it, restarted VS, and found the problem solved. Then, I re-enabled it, and the problem is still solved. So the mystery remains, but not the problem.
I don't have VS2012 (I went up to 2005), but from what I remember, this is configurable from the IDE. In VS2005 go to the menu, choose Tools, then Options, then Documents, then you'll see the options to detect when files are changed externally, and to auto-load files changed externally. I think in VS2012 it'll be similar.

Visual Studio 2012-Update 2 Won't Load Solution if SUO File is Present

I develop in VS 2012/.NET on several computers (all running Windows 8 Pro x64). Although VS is installed on all computers I keep the project folder on an external USB3 drive. Every once in a while I would find the project files had been corrupted on the USB drive (e.g. cross-linked). Fortunately I keep frequent backups but clearly this situation is intolerable, so I set out trying to find what the issue(s) might be.
I still don't have a clear answer but one piece of strange behavior is this: if I open the .SLN file for my project in VS 2012 when an .SUO file is NOT present it loads fine, builds are OK, etc. HOWEVER, if I then save the project, exit VS (so an SUO file is created) and then attempt to REOPEN the solution VS hangs at (....loading). I get the usual "Visual Studio is busy....." messages and there is no point in waiting, the solution just never loads. I have to kill VS in TM. I've tested this repeatedly, and I've even done it from the local hard disk (as opposed to the USB drive) to see if USB was the problem. It isn't. Remember, this is all on the same computer (so as to remove "moving" as the cause of the issue). The only way I can work with the project is to delete the SUO file before trying to open it.
I would assume, if this was a VS bug, it would be pretty much all over the web and my searches would have turned up something. So I'm asking if anyone has any idea what the problem might be or if there are links that might help me figure things out.
Thanks in advance.

Visual Studio 2012 Web Publish keeps overwriting existing files with same version

Just installed VS2012 and run across a strange behavior by the one click publish feature.
I'm publishing via FTP and everything works fine except it seems that VS insists on overwriting some files over and over even though nothing's changed.
In VS2010 clicking the "publish" button over and over just runs through the steps and finishes in a few seconds, in VS2012 it takes about two minutes as it keeps copying a 5mb dll and some other stuff too.
P.S the "delete all existing files prior to publish" is off
It's an absolute pain. I've resorted to keeping the solution open in VS2010 alongside the VS2012 and using VS2010 to publish, it's annoying, but it's faster...
Unfortunately there's no option for only changed files in VS 2012. Not sure why they took it out, other than maybe too many people complained that VS wasn't synching properly when their FTP servers were the problem. FTP servers are notorious for not giving back correct file info.
This is real too slow on large amount of files.
My best experience is to remove unused folders not containing assemblies (scripts, css, etc...) this way <ExcludeFoldersFromDeployment>Content;Scripts;Views</ExcludeFoldersFromDeployment>
.
Publish these files straight when you change them . Otherwise publish assemblies from profile .
https://msdn.microsoft.com/en-us/library/ee942158.aspx#can_i_exclude_specific_files_or_folders_from_deployment

Resources