I am trying to use a Singleton to share a large data object between Activities. But when I open the new Activity, the singleton comes up as empty. It seems to me that the Singleton should be the same no matter where in the Application I call if from.
It seems like the Scope of the Singleton is being limited to the individual Activity. Working around this is making my App very complicated. I must be doing something wrong. I even tried instantiating them in an extended Application class... Google says I should not have to use that though...
Can someone please point out where I am going wrong? i.e. Why does this singletom not contain the same data in each Activity?
I call it from an Activity with...
DataLog dataLog = DataLog.getInstance(this);
I have...
public class DataLog extends ArrayList<String> implements Serializable {
    private static final long serialVersionUID = 0L;
    private static DataLog sInstance;
    private static Context mContext;
    public static DataLog getInstance(Context context) {
        mContext = context.getApplicationContext();
        prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
        if (sInstance == null) {
            sInstance = new DataLog();
        }
        return sInstance;
    }
    private DataLog() {
    }
    public boolean add(String entry) {
        super.add(entry);
        return true;
    }
    public void add(int index, String entry) {
        if (index > 0)
            super.add(index, entry);
        else
            super.add(entry);
    }
    public void clear() {
        super.clear();
    }
    ...
}
 
    