Sobes.tech
Junior — Middle

Millise piirkondliku kontekstiga on seotud Singleton muster?

sobes.tech AI

Vastus AI-lt

Androidis on sageli seotud Singleton-mustri kasutamine rakenduse kontekstiga (Application Context). See on tingitud sellest, et Singleton peaks omama elutsüklit, mis vastab kogu rakenduse elutsüklile, et vältida mälulekkeid ja ressursside vale kasutamist.

Application Contexti kasutamine tagab, et Singleton ei hoia viidet Activity või muule lühemaks elutsükliks komponendile, mis võib põhjustada lekked.

Näide Singletoni loomise kohta, kasutades Application Contexti:

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

    private MySingleton(Context context) {
        // Kasutame Application Contexti lekkedega võitlemiseks
        this.context = context.getApplicationContext();
    }

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