AndroidStudio編譯提速,快過eclipse

AndroidStudio正式版推出後,相信更多的同學都在準備將項目遷移出eclipse,擁抱IDE的未來——AndroidStudio。而有的同學可能與我一樣,在某一階段,發現AndroidStudio的編譯速度實在不可恭維。

我的個人項目剛遷移到AndroidStudio後,編譯時間居然最少1分鐘,IDE也經常卡死。這難道就是官方所說的解放生產效率嗎?本人決定信Google一次,花幾天時間研究下編譯慢的原因。結果,現在編譯速度11秒,已經全面超越eclipse。


原項目(eclipse中、非Gradle或Maven編譯)的情況:

引用了6個庫工程,還有若干jar和so。

eclipse時:編譯流暢。

剛遷移到AndroidStudio時:至少1分鐘,緩慢。

現在:11秒。


歸納起來從以下幾個幾個角度提速:
  • 項目減肥
  • IDE(jvm)配置
  • Gradle的幾個參數
最關鍵的是第一條。jvm和Gradle參數的修改效果不一定明顯。

項目減肥

   1.  不要引用庫Module。AndroidStudio慢的主要原因是大量磁盤IO,這是跟eclipse上很大的不同(eclipse多幾個庫工程對編譯時間影響不大)。所以,直接在Gradle中引用這些庫吧。
這裏說明下,如果是maven中央庫沒有的項目,可以把該庫打包成aar,然後引用:
到該庫Mudule的build目錄下搜*.aar,這個aar可以直接被本地引用;build.gradle簡單修改下。然後移除對該庫Module的依賴,刪除就行了。
   2.  使用本地庫(jar或aar),而不是遠程庫。絕大多數項目build.gradle的dependencies都是遠程引用(jcenter()或mavenCenter()),但鑑於中國的網絡(訪問maven中央庫和sonatype等),使用本地庫絕對能加快項目的編譯。因爲Gradle每次編譯都會去檢查這些庫的更新。
位置(Windows):C:\USER\用戶\.gradle,搜索*.aar。得到的就是原來每次Gradle編譯時遠程下載的aar包。然後同上一步進入該aar。
       
當然也可以mvn -install添加到maven本地庫中,然後通過mavenLocal()引入;但沒有上面的方法簡單。
這樣的方式唯一不比遠程引用的是,不能自動更新到該第三方庫的最新版本;但贏得了編譯時間。
   3.  不用單元測試的話,刪除Test目錄。


IDE優化

   1.  IDE的vm主配置文件。
        
        與eclipse的jvm優化一樣,跟局電腦的硬件配置修改。

2. 延遲自動保存
        
        IDEA不同於eclipse和word等,是自動保存的。如果想降低性能負擔,可以取消立即保存,置爲延遲30秒。

3. 停用不用的插件
        
        注意的是,Maven插件不能停用,因爲項目的默認的jcenter()依賴於它。

Gradle的幾個參數

Android開發團隊的Google+有篇舊文章,給了Gradle的幾個參數。。。。
https://plus.google.com/108967384991768947849
位置:1. 本工程的gradle.properties文件。 
            2. C:\USER\用戶\.gradle下新建gradle.properties。
        參數:1. deamon:會在第一次編譯後,將gradle進程駐留。
              2. parallel:會爲子項目另開一個進程。
                3. dex***:減少這個低效率流程。





發佈了30 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章