Do diffence

Softreference<> 를 이용한 singletone 구현 본문

Android

Softreference<> 를 이용한 singletone 구현

고포릿 2011. 2. 22. 17:01
com.android.contacts.model.Sources.java 에 구현한 예제

    private static SoftReference<Sources> sInstance = null;

    /**
     * Requests the singleton instance of {@link Sources} with data bound from
     * the available authenticators. This method blocks until its interaction
     * with {@link AccountManager} is finished, so don't call from a UI thread.
     */
    public static synchronized Sources getInstance(Context context) {
        Sources sources = sInstance == null ? null : sInstance.get();
        if (sources == null) {
            sources = new Sources(context);
            sInstance = new SoftReference<Sources>(sources);
        }
        return sources;
    }