Android - 如何以高性能的方式链接到动态构造的资源标识符



我必须打开一个基于某些参数加载动态网址的webview,我必须根据不同的字符串创建网址。

我想做的是:

String webPage = "www.webpage.com/" + "stringA/" + "stringB/"

->,其中根据给定条件选择字符串 A 和字符串 B。

有什么办法可以做到这一点吗?

我发现了这个想法,作者讨论了使用Resources#getIdentifier()与使用反射。由于性能是我的用例的一个问题,因此我正在寻找一种具有良好运行时行为的方法。

String webPage = "www.webpage.com/" + "stringA/" + "stringB/";

就好了。但是,为了保留一点内存,您可以使用StringBuffer或StringBuilder,例如(new StringBuilder("www.webpage.com/").append("stringA/").append("stringB/").toString();

您还可以将"%s %s %s"与String.format()一起使用,并用正确的值动态填充它(这尤其适用于资源 xml 中的字符串模板(

主机放入字符串中怎么样.xml带有占位符,例如密钥 ="www.webpage.com/%1$s/%2$s"。

然后,调用 Context.getString(thekey, stringA, stringB(。

String.format是它的另一种选择。

最新更新