在Android中,哪一个是最好的:在代码中声明数组还是在资源中声明数组

在Android中,哪一个是最好的:在代码中声明数组还是在资源中声明数组,android,Android,是的,我知道它很容易获取n它简化了代码n,甚至对于本地化。但我只是想知道,因为在android中声明太多的对象是不可取的,而且我也不太确定resource中的数组在代码中是否像dat(即在对象方面)。这就是为什么我要问安卓系统的最佳实践是什么,因为我们都知道,每种语言都是自己的,不需要有效的输出。我认为评论指出了答案,即没有真正的答案。什么是“最好的”取决于你想做什么 从资源中加载字符串的固定数组将非常快,并且会以可忽略的方式增加apk的大小。然而,据我所知,资源是固定的。您不能动态地向XML资

是的,我知道它很容易获取n它简化了代码n,甚至对于本地化。但我只是想知道,因为在android中声明太多的对象是不可取的,而且我也不太确定resource中的数组在代码中是否像dat(即在对象方面)。这就是为什么我要问安卓系统的最佳实践是什么,因为我们都知道,每种语言都是自己的,不需要有效的输出。我认为评论指出了答案,即没有真正的答案。什么是“最好的”取决于你想做什么

从资源中加载字符串的固定数组将非常快,并且会以可忽略的方式增加apk的大小。然而,据我所知,资源是固定的。您不能动态地向XML资源文件添加/删除实体。当您知道值不会改变时,您通常会看到固定的XML资源,例如使用
ContextMenu
,您知道您将提供的选项总是相同的。在这种情况下,不需要通过编程设置值(尽管如果愿意,也可以)

以编程方式声明
数组
更加灵活,即它可以动态修改,但有其他限制。例如,它不一定像您的资源文件一样可以普遍访问。如果您所做的是一个动态函数,例如生成用户选择的列表或动态分组数据,我会使用Java代码中声明的
数组

至于速度,了解更多的人可能会详细说明,但是,除非数据量非常大,否则我无法想象基本字符串数组在这两种形式下会有巨大的性能差异


你只需要平衡你的需求和每种可能性的成本/收益

指标与需求相关。不能在每个应用程序中都以相同的方式定义Fast。请尝试两者并进行比较。请在这里发布您的结果。如果您在参考资料中定义它,则获取速度非常快。您看到的延迟小于几毫秒。作为一个用户,你不会注意到它。声明数组的位置应该无关紧要。如果在代码中声明它,如果需要,您将如何处理应用程序的本地化?