Sobes.tech
Junior — Middle

Με ποιο περιφερειακό πλαίσιο σχετίζεται το μοτίβο Singleton;

sobes.tech AI

Απάντηση από AI

Το μοτίβο Singleton στο Android συχνά σχετίζεται με το πλαίσιο της εφαρμογής (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;
    }
}