我知道+ in @ + id告訴編譯器將id添加到(R.id。???)資源中。不過,我想知道是否有沒有帶來+的性能好處?Android:使用@id over @ + id表現明智有什麼好處嗎?
也許例如在處理複雜的列表視圖佈局時?
我知道+ in @ + id告訴編譯器將id添加到(R.id。???)資源中。不過,我想知道是否有沒有帶來+的性能好處?Android:使用@id over @ + id表現明智有什麼好處嗎?
也許例如在處理複雜的列表視圖佈局時?
這不是區別。如果您使用android:id
它應該始終是@+id
(我認爲)。這意味着你正在給它分配一個ID。否則,正如raybritton所說的,你正在引用一個ID。
而且,R甚至在編譯時間之前生成。這些好處不僅是微不足道的,而且它們會在編譯時發生,而不是在運行時發生,因此無關緊要。
的+意味着添加至R名單,沒有你引用的是已經存在的UI元素,換句話說@ + ID /!= @ ID/
通過使用@ + id,您正在使用@id添加對R的引用,您將在生成的R類中重新使用已有的引用。例如,可以這樣做來通知您的活動在佈局中查找特定小部件的位置,因爲在使用帶有ListActivity的自定義佈局時就是這種情況。然後,您將爲您的ListView分配一個已經存在的@ id/android:list,它是一個預定義的ID。 TabHost和TabWidget也一樣。
其餘的,沒有性能差異,我認爲...
沒有性能差異。對於ID,不使用'+'的唯一原因是,如果您明確聲明ID並想引用它,請確保所有引用都是針對該特定ID。例如,如果您不使用'+'並且在您的ID名稱中有拼寫錯誤,則將出現編譯時錯誤,而使用'+'將會創建新的錯字ID條目。
我不這麼認爲,唯一的性能提升是編譯時對應用本身沒有影響。 – schwiz 2010-11-29 21:44:25
感謝schwiz,我可能不得不改變這個問題,因爲每個人都告訴我我已經在問題本身發佈的內容。我「知道」這個+表示什麼,以及如何使用它。問題是「使用@id over @ + id有沒有提高性能」 – Emile 2010-11-30 11:48:37