ただのランダムな質問です。私は現在 Android について少し学んでいますが、ほとんどの例では、多くの一般的な項目 (ボタン、編集ボックスなど) が(cast) findViewById()
.
その結果をアクティビティのメンバー値に保存することは、良い習慣ですか、悪い習慣ですか? 簡単な例:
public class MyActivity extends Activity {
private EditText myText;
public void onCreate(blah blah) {
// blah
this.myText = (EditText) findViewById(R.id.mytext);
}
}
そこから myText フィールドを使用します。パフォーマンスには良いと思いますが (findViewById の内部動作によっては、既に非常に高速になっていると確信しています)、まだ推奨されていません。また、このような「キャッシング」が問題を引き起こす状況に遭遇したのはこれが初めてではありません (データベース接続が適切に解放されない場合がありましたConnectionManager
。
第二に、アクティビティのメソッド全体で何かを覚えておきたい場合 (そして後でアクティビティが後で再起動されたとき) は、SharedPreferences のクラス フィールドと値の両方を保持する方が賢明ですか、それとも SharedPreferences を呼び出す方が賢明ですか?より良い解決策が必要な場所で値を設定/取得するたびに?(パフォーマンスに大きな影響を与えることなく、よりクリーンである方が良い)