為什麼eclipse會出現各種莫名其妙的bug提示錯誤 但是clean一下又正常了?


這有許多情況,每種情況涉及不同的因素。

其中一種最典型的情況是,其實項目里沒有錯誤但是Eclipse報錯。

Eclipse會在用戶編輯源碼文件的同時非同步/並發對整個項目里的源碼及其依賴做分析,並且非同步的將分析結果(其中一些就是題主提到的錯誤提示)更新到用戶界面上。

這些分析有時候可能會在用戶編輯後沒有正確的觸發更新,或者只更新了部分信息而沒更新足夠的全局信息,導致Eclipse報出錯誤/冗餘的錯誤。

這種情況下,做一次clean rebuild其實就是強制讓Eclipse做一次全局更新的分析,這樣之前誤報的錯誤可能就消失了。

而另外一種典型的情況是,其實項目里是有錯誤的,但是clean rebuild之後「一段時間內」就沒有錯誤了,然而過了一會兒又開始報錯。

這也是跟上面說的非同步分析和更新相關的。剛剛做完全的clean rebuild時,Eclipse界面上會把錯誤報告全部清除掉,然而如果項目里真的有錯誤的話,在相關的分析完成後,該報的錯誤還是會報告到界面上。

Eclipse分析代碼的一個例子可以參考另一個回答:IDE中,選中一個變數,文檔中其它地方的該變數也會高亮,這種功能叫什麼?如何實現的? - RednaxelaFX 的回答


用eclipse要學會迷信,clean下不行重啟下總行


因為是eclipse~


推薦閱讀:

TAG:Android開發 | Java編程 | Eclipse | Android | MyEclipse |