视图ID的整数值在android中是否始终保持不变?
R.id.view的int值是否始终相同视图ID的整数值在android中是否始终保持不变?,android,performance,android-studio,android-layout,Android,Performance,Android Studio,Android Layout,R.id.view的int值是否始终相同 我试着用两台设备打印,结果是一样的 我还更改了id的名称,但值仍然相同 但是它在所有场景中都会保持不变吗?编译期间会生成一个视图ID,因此如果APK相同,则每个设备中的ID都会相同。请注意,“不同的编译可能会生成不同的ID”。编译过程中会生成视图ID,因此,如果APK相同,则每个设备中的ID都是相同的。请注意,“不同的编译可能会生成不同的ID”。对于任何特定的应用程序资源,特定的R类关联资源ID在运行时的所有场景中都是相同的,因为此资源ID是在编译
- 我试着用两台设备打印,结果是一样的
- 我还更改了id的名称,但值仍然相同
但是它在所有场景中都会保持不变吗?编译期间会生成一个视图ID,因此如果APK相同,则每个设备中的ID都会相同。请注意,“不同的编译可能会生成不同的ID”。编译过程中会生成视图ID,因此,如果APK相同,则每个设备中的ID都是相同的。请注意,“不同的编译可能会生成不同的ID”。对于任何特定的应用程序资源,特定的R类关联资源ID在运行时的所有场景中都是相同的,因为此资源ID是在编译时生成的 发件人: 在应用程序中提供资源后,可以通过引用其资源ID来应用它。所有资源ID都在项目的R类中定义,aapt工具会自动生成该类。编译应用程序时,aapt生成R类,该类包含res/目录中所有资源的资源ID 因此,如果使用相同的apk,在两个设备中打印它将产生相同的int值。还请注意,在相应的子类中 由此: 请注意,默认情况下,aapt不会尝试保留这些标识符 在构建之间也是如此。每次资源发生变化时,它们都可以 获取新的标识符。每次构建它们时,都会创建一个新的R.java 使用当前标识符,以便代码获得正确的值。 因此,您决不能将资源标识符保留在任何地方 它们可以跨应用程序的不同版本使用 对资源的任何更改都可能使资源获得新的R类资源ID
基于计算R类资源ID的方式,如中所述,我认为,因为您只更改了XML资源ID的名称,没有更改资源的类型,也没有更改相应XML文件中相应视图对象声明的位置,正在计算相同的R类资源ID。对于任何特定的应用程序资源,特定的R类关联资源ID在运行时的所有场景中都是相同的,因为此资源ID是在编译时生成的 发件人: 在应用程序中提供资源后,可以通过引用其资源ID来应用它。所有资源ID都在项目的R类中定义,aapt工具会自动生成该类。编译应用程序时,aapt生成R类,该类包含res/目录中所有资源的资源ID 因此,如果使用相同的apk,在两个设备中打印它将产生相同的int值。还请注意,在相应的子类中 由此: 请注意,默认情况下,aapt不会尝试保留这些标识符 在构建之间也是如此。每次资源发生变化时,它们都可以 获取新的标识符。每次构建它们时,都会创建一个新的R.java 使用当前标识符,以便代码获得正确的值。 因此,您决不能将资源标识符保留在任何地方 它们可以跨应用程序的不同版本使用 对资源的任何更改都可能使资源获得新的R类资源ID 基于计算R类资源ID的方式,如中所述,我认为,因为您只更改了XML资源ID的名称,没有更改资源的类型,也没有更改相应XML文件中相应视图对象声明的位置,正在计算相同的R类资源ID