私はこのドキュメントページhttp://developer.android.com/reference/android/util/Log.htmlを読んでいました。Android StringBuilderと文字列の連結
セクションでは、ここに私の目を引いた。
ヒント:
Log.v(TAG, "index=" + i);
のような呼び出しを行うときに、文字列を構築しているときは中を通過することをことを忘れないでください。 Log.d、コンパイラ はStringBuilderを使用し、少なくとも3つの割り当てが発生します。つまり、 StringBuilder自体、バッファ、およびStringオブジェクトです。 現実的には、もう1つのバッファの割り当てとコピーがあり、 gcにさらに大きな負荷がかかります。つまり、ログメッセージが で除外されている場合、重要な作業をしている可能性があり、 という重大なオーバーヘッドが発生する可能性があります。
これは、Androidコンパイラが文字列連結(+)を受け取り、それをStringBuilderとappend文に変換することを意味します。
私の前提が正しいのですか、文字列連結の代わりに手動でStringBuilderを使用する方が良いですか?
可能重複して[Javaで文字列の連結 - +、のStringBuilderと連結を使用する場合(http://stackoverflow.com/質問/ 7817951/string-concatenation-in-java-when-to-use-stringbuilder-concat) – givanse