Sobes.tech
Junior — Middle

Ի՞նչ տարածաշրջանային կոնտեքստի հետ է կապված Singleton ձևանմուշը։

sobes.tech AI

Պատասխան AI-ից

Android-ում Singleton ձևանմուշը հաճախ կապված է ծրագրի կոնտեքստի (Application Context) հետ: Դա պայմանավորված է նրանով, որ Singleton-ը պետք է ունենա կյանքի ցիկլ, որը համընկնում է ամբողջ ծրագրի կյանքի ցիկլին, որպեսզի կանխվի հիշողության լիքները և ռեսուրսների սխալ օգտագործումը:

Application Context-ի օգտագործումը ապահովում է, որ Singleton-ը չի պահի հղում Activity կամ այլ կարճաժամկետ բաղադրիչի վրա, ինչը կարող է հանգեցնել լիքների:

Օրինակ՝ Singleton ստեղծելու համար օգտագործելով Application Context:

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

    private MySingleton(Context context) {
        // Օգտագործեք Application Context-ը լիքների կանխարգելման համար
        this.context = context.getApplicationContext();
    }

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