2017-06-27 13 views
0

のは、私はアンドロイドのプロジェクトにコードのこの部分を持っているとしましょう:それはすでにアンドロイドバインディングオブジェクトにキャッシュされているように私はこれが作成保証しないと思いますので、同じオブジェクトプロパティの複数のアクセスのショートカットとして変数を作成しても構いませんか?

center.x = (int) (binding.trainingActivityFixationPoint.getX() + 
binding.trainingActivityFixationPoint.getWidth()/2); 

center.y = (int) (binding.trainingActivityFixationPoint.getY() + 
binding.trainingActivityFixationPoint.getHeight()/2); 

技術的には、繰り返しtrainingActivityFixationPointへのアクセスは、一定の操作でなければなりませんしかし、上記のアクセスの長さは私には乱雑に見えます。それは新しい変数を導入し、このようなコードを見て、私は自分がアンドロイドでかなり頻繁にこれをやってますが、これは良い習慣である場合、私はわからないことが判明している

ImageView fixation = binding.trainingActivityFixationPoint; 
center.x = (int) (fixation.getX() + fixation.getWidth()/2); 
center.y = (int) (fixation.getY() + fixation.getHeight()/2); 

を?:持っているような場合には優れています。

答えて

0

これは何も問題はありません。これは単なる既存のオブジェクトへの参照です。ただし、この参照が範囲外にならない場合は、バインディングによって参照されるオブジェクト全体がガベージコレクションされないことに注意してください。

メソッド内で固定を使用している場合は、スコープが設定されていて、まったく問題ではありません。このような参照は非常に小さく、何千も作成しない限り、アプリケーションに大きな影響はありません。

+0

返信ありがとうございました。私がやっていたことがうまくいくという安心感が必要でした。 – AAryz

+0

良いこと - 一日の終わりには、読みやすさと明快さはほとんどすべてのものよりも優先されます。 – Ewald

関連する問題