アンドロイド - 人々はインライン繰り返し静的なコンテキストを参照してくださいなぜ、代わりには、一度法()に渡しますか?

Studio2bDesigns:

私は...私の最初の本当のアプリケーションの完成に近づいています
、私は、コードの多くの例を見てきました(過去数年で)私の道路に沿って。
一つは、一貫している:私は常に静的の使用を参照context:などの参照
getApplicationContext()this.getActivity()および他の多くのような参照。..

しかし、それ以前の今日は、レシーバー内のメソッドからコンテキストを取得する方法を尋ねた後、
私はそれ渡す」単に言われたがコンテキスト」、EX: public void receiverMethodCall(Context context)

私の質問は:それはシンプルだなら、なぜ人々は頻繁に代わりに、単純に含むメソッドを渡すので、何度も繰り返し、繰り返し、静的コンテキストの参照は、そのコード内でインライン化させるんContextで開始するには、必要なときに「コンテキスト」を使用して、それを参照します?

タミールアブトブル:

私はあなたの質問の意味を得たことを私の希望-あなたはあなたの答えを持って、コンテキスト変数を入力したとして、コンテキストに渡すように言わ-しかし、あなたはあなたのメソッドを呼び出し、それをコンテキストを渡したいとき、あなたは何を知っている必要がありますことを忘れないでくださいこのような状況であり、それを初期化します。

たとえば、あなたがメソッドのパラメータのトースト1を作りたい場合は、コンテキストがあり、あなたはトーストの多くを使用している場合には、コンテキストの参照を持っていて、トーストを表示したいすべての時間のためにそれを使用する方がよい(またはいずれかを使用しますコンテキストを必要とする。)むしろ使用以外の方法this.getActivity()getApplicationContext()
これにより、あなたは重複コードを防ぐことができ、あなたはについての質問のために今、あなたのコード内でコンテキストに多くの時間を参照する必要はありません「なぜ人々は頻繁にインライン自分のコード内で繰り返さ静的コンテキストの参照を作るのですか」

2コンテキストの参照を作るために悪いことではありませんとき私は1つの場合を考えることができます:あなたはコンテキストを使用しているのと同じ活動の2つの方法を持っているとしましょう-これらのメソッドは、一旦使用されている場合は、コンテキストの参照の内部を作成することができます方法およびその参照ガベージコレクタハンドルをしてみましょう。

私はあなたに同意することを言わなければならない、私は、あなたの方法にそのオプションだけでパスコンテキストとは、許可すれば、それはそれを使用することをその本当に簡単な解決策を考えます。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=282750&siteId=1