Junior — Middle
Milyen regionális kontextussal kapcsolódik a Singleton minta?
sobes.tech MI
Válasz az MI-től
Az Androidban a Singleton minta gyakran kapcsolódik az alkalmazás kontextusához (Application Context). Ez azért van, mert a Singletonnak olyan életciklusúnak kell lennie, amely megegyezik az egész alkalmazás életciklusával, hogy elkerüljük a memória szivárgásokat és a források helytelen használatát.
Az Application Context használata biztosítja, hogy a Singleton nem fog tartani hivatkozást egy Activity-re vagy más, rövidebb életű komponensre, ami szivárgáshoz vezethet.
Példa Singleton létrehozására az Application Context használatával:
public class MySingleton {
private static MySingleton instance;
private Context context;
private MySingleton(Context context) {
// Az Application Context használata a szivárgások elkerülése érdekében
this.context = context.getApplicationContext();
}
public static synchronized MySingleton getInstance(Context context) {
if (instance == null) {
instance = new MySingleton(context);
}
return instance;
}
}