Sobes.tech
Junior — Middle

S akým regionálnym kontextom je spojený vzor Singleton?

sobes.tech AI

Odpoveď od AI

Vzor Singleton v Androidu je často spojený s kontextom aplikácie (Application Context). To je spôsobené tým, že Singleton by mal mať životný cyklus zodpovedajúci celému životnému cyklu aplikácie, aby sa predišlo únikom pamäte a nesprávnemu využívaniu zdrojov.

Použitie Application Context zabezpečuje, že Singleton nebude držať odkaz na Activity alebo iný komponent s kratším životným cyklom, čo by mohlo viesť k únikom.

Príklad vytvorenia Singletonu s použitím Application Context:

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

    private MySingleton(Context context) {
        // Používame Application Context na prevenciu únikov
        this.context = context.getApplicationContext();
    }

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