我知道@ + id中的+告诉编译器将id添加到(R.id。???)资源中。但是,我想知道如果没有把+?
获得性能上的好处也许比如在处理复杂的列表视图布局时?
答案 0 :(得分:3)
+表示添加到R列表,而不是引用现有的UI元素,换句话说@ + id /!= @id /
答案 1 :(得分:3)
这不是区别。如果您使用android:id
,则应始终为@+id
(我认为)。这意味着你要为它分配一个ID。否则,正如raybritton所说,你引用了一个ID。
但是,R甚至在编译之前就生成了。这些好处不仅微不足道,而且它们会在编译时而不是在运行时出现,因此无所谓。
答案 2 :(得分:2)
根本没有性能差异。对于ID,不使用“+”的唯一原因是,如果您明确声明ID并想要引用它,请确保所有引用都是针对该特定ID。例如,如果您不使用“+”并在ID名称中输入拼写错误,则会出现编译时错误,而使用“+”时,将创建错误ID的新条目。< / p>
答案 3 :(得分:1)
通过使用@ + id,您将添加对R的引用,通过使用@id,您将在生成的R类中重用已存在的引用。例如,这可以通过您的活动告知在布局中查找特定窗口小部件的位置,就像使用带有ListActivity的自定义布局一样。然后,您将为ListView分配已存在的@ id / android:list的id,这是一个预定义的。与TabHost和TabWidget相同。
其余的,没有性能差异,我认为......