Sobes.tech
Junior — Middle

S jakým regionálním kontextem je spojen vzor Singleton?

sobes.tech AI

Odpověď od AI

Vzor Singleton v Androidu je často spojován s kontextem aplikace (Application Context). To je způsobeno tím, že Singleton by měl mít životní cyklus odpovídající celému životnímu cyklu aplikace, aby se předešlo únikům paměti a nesprávnému využívání zdrojů.

Použití Application Context zajišťuje, že Singleton nebude držet odkaz na Activity nebo jinou komponentu s kratším životním cyklem, což by mohlo vést k únikům.

Příklad vytvoření Singletonu s použitím Application Context:

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

    private MySingleton(Context context) {
        // Použití Application Contextu k prevenci úniků
        this.context = context.getApplicationContext();
    }

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