我正在调查一个延迟,发生在我的android应用程序的第一次触摸输入之后。我使用了traceview,追踪到了番石榴Splitter
初始化的~2秒延迟。
为什么要这么久?
我是否正确阅读了traceview的输出?
我能怎么办?
这是调用Splitter
的行:
String desc = /* loaded from assets */
List<String> descList = Lists.newArrayList(Splitter.on("\n").split(desc));
最佳答案
我认为这可能与Guava Charmatcher static initialization slow和http://code.google.com/p/guava-libraries/issues/detail?id=1192有关,因为在构造拆分器时需要构造charmatcher。正如您在traceview中看到的,很多时间都花在CharMatcher.<clinit>
(clinit=类初始化)上。
你在用什么版本的番石榴?