Android:使用@id优于@ + id性能是否有任何好处?

时间:2010-11-29 21:37:30

标签: android xsd

我知道@ + id中的+告诉编译器将id添加到(R.id。???)资源中。但是,我想知道如果没有把+?

获得性能上的好处

也许比如在处理复杂的列表视图布局时?

4 个答案:

答案 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相同。

其余的,没有性能差异,我认为......