两种访问android字符串资源的方法

两种访问android字符串资源的方法,第1张

概述我试图弄清楚访问 android字符串资源之间的区别.我不清楚以下引用: Access by referene is fast Direct access is slow 通过引用访问意味着:setTitle(R.string.title) 直接访问意味着:setTitle(getResources().getString(R.string.title)) 现在我在android模拟器上运行了一些 我试图弄清楚访问 android字符串资源之间的区别.我不清楚以下引用:

Access by referene is fast

Direct access is slow

通过引用访问意味着:setTitle(R.string.Title)

直接访问意味着:setTitle(getResources().getString(R.string.Title))

现在我在androID模拟器上运行了一些速度测试:

通过参考访问:

for(int i = 0; i< 100000; i++) {    setTitle(R.string.app_name);}

这花费了5090毫秒.相反,我使用直接访问运行相同的代码:

for(int i = 0; i< 100000; i++) {    setTitle(getResources().getString(R.string.app_name));}

这耗时5191毫秒.我用AndroID 4.2.2测试了这个.

所以对我而言,看起来很像我使用资源的方式无关紧要.这在早期的AndroID版本中有用吗?这在真实设备上有用吗?换句话说:我选择哪种访问权限是否重要?

如果需要更多我测试的参数,我很乐意给他们.感谢您抽出宝贵时间,非常感谢.

解决方法 看看代码:

(在活动中)

public voID setTitle(int TitleID) {    setTitle(getText(TitleID));}

(在上下文中)

public final CharSequence getText(int resID) {    return getResources().getText(resID);}

所以基本上,它完全是一回事.

然而,更慢的是,如果使用Resource.getIDentifIEr(String,String,String)来查找资源的ID.

总结

以上是内存溢出为你收集整理的两种访问android字符串资源的方法全部内容,希望文章能够帮你解决两种访问android字符串资源的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1141043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存