परिचय
स्टेटिक वेरिएबल क्लास से संबंधित होते हैं, इंस्टेंस से नहीं। वे सभी इंस्टेंस में साझा होते हैं और क्लास नाम से एक्सेस किए जाते हैं। यह लेख एक्टिविटी जीवनचक्र लॉगिंग के लिए एक स्टेटिक `TAG` का उपयोग दिखाता है।
कार्यान्वयन
चरण 1: लेआउट (activity_main.xml)
<TextView android:id="@+id/Question" android:text="I'm a Static Variable" android:textSize="32dp" android:padding="8dp" android:layout_marginTop="32sp" android:layout_marginLeft="8dp" ... />
चरण 2: MainActivity.java
public class MainActivity extends AppCompatActivity {
public static final String TAG = "I'm a Static Variable";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "onStart");
}
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "onPause");
}
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "onStop");
}
}व्याख्या
- `static final String TAG` एक स्थिरांक है जो क्लास से जुड़ा है।
- यह `MainActivity.TAG` के रूप में कहीं भी एक्सेसिबल है।
- जीवनचक्र विधियों में लॉगिंग के लिए उपयोगी, ताकि लॉगकैट में फ़िल्टर किया जा सके।
- स्टेटिक वेरिएबल का उपयोग सावधानी से करें: वे मेमोरी लीक का कारण बन सकते हैं यदि वे संदर्भ (Context, View) रखते हैं।
सामान्य उपयोग के मामले
- लॉगिंग टैग (`TAG`)
- कॉन्स्टेंट मान (कॉन्फ़िगरेशन कुंजियाँ)
- सिंगलटन पैटर्न
- उपयोगिता विधियाँ (`static` मेथड्स)