Java Android上的番石榴拆分器需要1.7秒才能初始化?
我正在调查一个滞后现象,它发生在我的android应用程序的第一次触摸输入之后。我使用TraceView并追踪到了番石榴Java Android上的番石榴拆分器需要1.7秒才能初始化?,java,android,performance,guava,lag,Java,Android,Performance,Guava,Lag,我正在调查一个滞后现象,它发生在我的android应用程序的第一次触摸输入之后。我使用TraceView并追踪到了番石榴拆分器初始化的~2秒延迟 为什么要花这么长时间 我是否正确读取TraceView的输出 我能做些什么 这是调用拆分器的行: String desc = /* loaded from assets */ List<String> descList = Lists.newArrayList(Splitter.on("\n").split(desc)); Stri
拆分器初始化的~2秒延迟
- 为什么要花这么长时间
- 我是否正确读取TraceView的输出
- 我能做些什么
这是调用拆分器的行:
String desc = /* loaded from assets */
List<String> descList = Lists.newArrayList(Splitter.on("\n").split(desc));
String desc=/*从资产加载*/
List descList=Lists.newArrayList(Splitter.on(“\n”).split(desc));
我认为这可能与和有关,因为在构造拆分器时需要构造一个字符匹配器。正如您在TraceView中所看到的,很多时间都花在了CharMatcher.
(clinit=class初始化)上
您使用的是哪种版本的番石榴?…以及您使用的拆分器代码是什么?您显然正确地阅读了Traceview。至于为什么和怎么做的问题,这需要一个Guava专家。一个将文本文件从资产加载到字符串中的助手。字符串大约50个字符长,根据TraceView,对my helper的调用不到1ms。还有,在第一个Splitter.on()之后,对它的后续调用也很快。为什么不使用Splitter.on('\n')
而不是Splitter.on(“\n”)
?@LouisWasserman,爱你的人,但是你必须承认这个技巧有点毫无用处:-)对不起。Fabian,你能告诉我们当你切换到14.0-rc2时你看到了什么吗?相关问题被认为已解决。使用14.0-rc1和-rc2解决。谢谢