Android - 资源解析如何影响构建性能?

问题描述

我参与了一个拥有一些资源的项目,例如:

<!-- Spacing -->
<dimen name="spacing_1">4dp</dimen>
<dimen name="spacing_2">16dp</dimen>
<dimen name="spacing_3">20dp</dimen>
<dimen name="spacing_4">32dp</dimen>
<dimen name="spacing_5">45dp</dimen>

资源解析会影响多少构建时间,以便我的所有视图都可以拥有:

    <LinearLayout 
    ...
        android:layout_margin="@dimen/spacing_2" />

在每个文件中 vs 简单:

    <LinearLayout 
    ...
        android:layout_margin="16dp" />

解决方法

我不能肯定,但我猜想,资源只会被访问一次,然后被缓存以备将来使用。

即使情况并非如此,除非您有大约一百万次观看,否则影响不会很明显。

在您学习的官方 Android 开发者教程中,您应该创建资源而不是直接分配。(在构建时间方面没有提及,他们更关注好处,即您可以更轻松地更改整个视图只需要更改一个资源而不是每个视图。)