2

Android アプリケーションの最初のタッチ入力の後に発生する遅延を調査しています。私は TraceView を使用し、Guava の初期化までの約 2 秒の遅れを追跡しましたSplitter

ここに画像の説明を入力

  • なぜこれに時間がかかるのですか?
  • TraceView の出力を正しく読んでいますか?
  • これについて何ができますか?

これは、次の行を呼び出していSplitterます。

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

1 に答える 1

7

スプリッターを構築するときに CharMatcher を構築する必要があるため、これはGuava Charmatcher の静的初期化が遅いことhttp://code.google.com/p/guava-libraries/issues/detail?id=1192に関連している可能性があると思います。TraceView を見るとわかるように、(clinit CharMatcher.<clinit>= クラスの初期化) に多くの時間が費やされています。

どのバージョンの Guava を使用していますか?

于 2013-01-29T16:17:11.627 に答える