2016-07-04 7 views
1

文字列データを処理するには、次のどの方法が適していますか?一見(ジャワアンドロイド)パフォーマンス:変数の作成と繰り返し 'get()'関数

1)

EditText edit = (EditText) ... 
String text = edit.getText().toString(); 

someFunction(text, text, text, text); 

2)

EditText edit = (EditText) ... 

someFunction(edit.getText().toString(), edit.getText().toString(), edit.getText().toString(), edit.getText().toString()); 

(1)変数に文字列を格納するために自然に感じるだろうが、「ごみがありますコレクター "のことです。

このGoogleドキュメントhttps://developer.android.com/training/articles/perf-tips.htmlはいくつかのヒントを示していますが、実際には理解できません。

+5

私はGC心配ないでしょう。 – Blackbelt

+2

この場合、可読性が唯一の懸念事項になります。他の違いはごくわずかです。最初のものを使用してください。 – toshkinl

答えて

3

私は本当に最初の方法が良いと思います。あなたはtoString()メソッドを2回目に4回実行しますが、最初の1回だけtoString()メソッドを実行しています。

ゲッターメソッドを使用する代わりにダイレクトリファレンスを使用すると、パフォーマンスは向上しますが、無視しても問題ありません。

In Java is there a performance difference between referencing a field through getter versus through a variable?

関連する問題