私は初めてAndroidアプリの最適化について真剣に考える必要があります。
検索しましたが、検索すればするほど混乱します。JavaおよびJVMコンポーネントのそれぞれがWRTJAVACバイトコードとDalvikバイトコードを最適化する方法を説明する優れたドキュメントを知っている人はいますか?そのほとんどはDalvikによって行われているため、私から「ブラックボックス化」されていますか?一見の価値がありますか?
いくつかの些細な例。
SharedPreferences settings = getSharedPreferences(MY_PREFERENCES, MODE_PRIVATE);
SharedPreferences.Editor prefEditor = settings.edit();
prefeditor.putString("FOO", "BAR");
prefEditor.commit();
vs
getSharedPreferences(MY_PREFERENCES, MODE_PRIVATE).settings.edit().putString("FOO","BAR").commit();
また
int a, b, c;
a = 2;
b = 3;
c = sum(a,b);
int sum(int x, int y){return x + y;}
vs
c = a + b;
私が尋ねる理由は、読みやすさと保守性とパフォーマンスの間のトレードオフを理解することです。標準的な答えは「測定する」ことですが、それを超えて、複雑なコードに戻ってメトリックに基づいてリファクタリングするのではなく、パフォーマンスを向上させることができる場所を事前に考えています。もちろん、とにかく測定してプロファイルを作成しますが、私の質問は理解についてです。
私は「そこに行って、書いて、測定して、気を悪くしないでください」を受け入れるのに十分な心を開いています!
洞察をありがとう。