不知道大家有沒有經(jīng)歷過,公司給配個mac,最低配,沒有ssd,Cpu1.4GHz。全量編譯一次一二十分鐘,增量編譯也要至少三分鐘,尤其是在調(diào)UI的時候。真的是能捉急死人!
搜羅各地找到一個比較實(shí)用的加快編譯的方法。
1.前提與原理
內(nèi)存16G以上,小于此標(biāo)準(zhǔn)的請恕我也無能為力。
此方法主要是利用RAM(內(nèi)存)來創(chuàng)建一個虛擬的磁盤,用來存放編譯文件。大家都知道,RAM的速度是ROM(存儲器)的幾十到幾百倍不等,利用RAM可以加速文件讀寫。
2.創(chuàng)建腳本文件
可以使用Sublime(文件類型請選擇Shell Script(Bash))或者終端vi編輯器(不會的自行學(xué)習(xí)),在桌面創(chuàng)建一個文件,文件名ramdisk.sh(名字可以自定,后綴不能改)
寫入以下腳本代碼保存:
#!/bin/bash
RAMDISK="ramdisk"
SIZE=4096 #4GB, size in MB for ramdisk.
diskutil erasevolume HFS+ $RAMDISK `hdiutil attach -nomount ram://$[SIZE*2048]`
2.執(zhí)行腳本文件
首先需要給文件添加可執(zhí)行權(quán)限,終端cd到ramdisk.sh文件統(tǒng)計(jì)目錄下(此處就是桌面),終端執(zhí)行一下命令給文件添加可執(zhí)行權(quán)限
chmod +x ./ramdisk.sh
然后終端輸入以下命令執(zhí)行文件
./ramdisk.sh
你會發(fā)現(xiàn)桌面上多了一個磁盤如下圖所示
3.修改Xcode的配置
Xcode -> Preferences -> Locations
Derived Data (Custom): /Volumes/ramdisk/DeriveData
點(diǎn)擊Advanced...選以下點(diǎn)擊Done
之后就可以進(jìn)行編譯了,有沒有發(fā)現(xiàn)快了一點(diǎn)呢?
4.總結(jié)
試過之后,確實(shí)是要快一點(diǎn)的,尤其是對全量編譯而言,能提升不少速度。
問題:
1、4GB的大小勉強(qiáng)夠用,可能在編譯幾十次之后會出現(xiàn)空間不足的情況,這時候可以把ramdisk里面DriveData下面的文件刪除,重新編譯(當(dāng)然你也可以給的空間大一點(diǎn))。
2、由于內(nèi)存只是暫存,重啟之后ramdisk的磁盤會消失,需要重新跑一次腳本,重新生成。
以上方法僅為權(quán)宜之計(jì),最好的解決辦法就是換一臺帶SSD的配置好一點(diǎn)的mac。如果你的mac配置本來就很好,是因?yàn)槟愕捻?xiàng)目實(shí)在太大,那就需要另尋他法了,比如說:使用模塊化方案,每一塊分成一個靜態(tài)包,這樣每次只編譯打開的部分代碼,這樣可以提高編譯速度(這就涉及太廣了,有興趣可以自行學(xué)習(xí))。