Sobes.tech
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;
    }
}