2016-12-18 1 views
0

メモリの管理とパフォーマンスの方が優れていますか?必要なときに要素を呼び出すか、それが必要になる場合は、複数回行うこと それフィールドたとえば、変数 :この機能で[Android preformance]:私が必要とするたびにfindViewByIdを呼び出すか、フィールド変数にする

private void setNumber(int intNumber) { 
     TextView number = (TextView) activity.findViewById(R.id.number); 

     String numberString = "#" + String.valueOf(intNumber); 
     number.setText(numberString); 
     number.animate().alpha(1f).setDuration(1000).start(); 
     number = null; 

    } 

機能は、そのIDによって多分呼ばれる要素numberと呼ばれるたびにこれをあまりにも高価なものにして、その記憶が自由でないことが必要ではないが、これがより良いことを実感してはならない。

class{ 
    TextView number; 

    constructor{ 

    number = (TextView) activity.findViewById(R.id.number); 

    } 

private void setNumber(int intNumber) { 

    String numberString = "#" + String.valueOf(intNumber); 
    number.setText(numberString); 
    number.animate().alpha(1f).setDuration(1000).start(); 
    number = null; 

    } 
} 

スライドノート:この要素は、すべて60年代に約

+0

2番目のオプションを使用すると良いです。 –

+0

これを使用することはできません.VerterKnifeのようなView Injectionライブラリを使用すると、 –

+1

変数が使用されます。 FindViewByIdはビューを通るO(n)です。そのため、ビュー所有者は、ビューをバインドするたびにO(n)のウォークを避けるために、リストビュー・アダプターで使用されます。バトルナイフのようなものに対して投票したいと思います。あなたのコードがあまり読みやすく保守的にならないような魔法の注釈があれば、いつでも投票できます。 –

答えて

0

を必要とされるであろう、私は非常にfindviewbyidを呼び出すと、パフォーマンスの多くを要することができるので、あなたはたくさん持っている。このポストEfficiency of findViewById

をチェックすることをお勧めいたしますあなたが操作したいビューの数。

関連する問題