Android上的Guava-Splitter需要1.7秒才能初始化?

Fab*_*ndl 2 java performance android lag guava

我正在研究一个滞后,发生在我的android应用程序的第一次触摸输入之后.我使用了TraceView并追踪了Guava's初始化的约2秒延迟Splitter.

在此输入图像描述

  • 为什么这需要这么长时间?
  • 我正确读取TraceView的输出吗?
  • 我该怎么办?

这是调用的行Splitter:

String desc = /* loaded from assets */
List<String> descList = Lists.newArrayList(Splitter.on("\n").split(desc));
Run Code Online (Sandbox Code Playgroud)

Eti*_*veu 7

我认为这可能与Guava Charmatcher静态初始化缓慢http://code.google.com/p/guava-libraries/issues/detail?id=1192有关,因为您需要在构造Splitter时构造CharMatcher.正如您在TraceView中看到的那样,花费了大量时间CharMatcher.<clinit>(clinit =类初始化).

您使用的是什么版本的番石榴?