Sobes.tech
Junior — Middle

W jakim kontekście regionalnym jest związany wzorzec Singleton?

sobes.tech AI

Odpowiedź od AI

Wzorzec Singleton w Android często jest związany z kontekstem aplikacji (Application Context). Wynika to z faktu, że Singleton powinien mieć cykl życia odpowiadający cykli życia całej aplikacji, aby uniknąć wycieków pamięci i niewłaściwego użycia zasobów.

Użycie Application Context zapewnia, że Singleton nie będzie trzymał odwołania do Activity lub innego komponentu o krótszym cyklu życia, co może prowadzić do wycieków.

Przykład tworzenia Singletona z użyciem Application Context:

public class MySingleton {
    private static MySingleton instance;
    private Context context;

    private MySingleton(Context context) {
        // Używamy Application Context, aby zapobiec wyciekom
        this.context = context.getApplicationContext();
    }

    public static synchronized MySingleton getInstance(Context context) {
        if (instance == null) {
            instance = new MySingleton(context);
        }
        return instance;
    }
}