Если вы пытаетесь сохранить некоторые данные в памяти в течение срока службы вашего приложения, возможно, вам следует подумать об использовании одноэлементного шаблона. Я использую это таким образом.
public class Session {
@SuppressWarnings("unused")
private GoogleAnalyticsTracker mGoogleAnalyticsTracker = null;
private static Session sInstance = null;
private Session(Context pContext) {
mGoogleAnalyticsTracker = GoogleAnalyticsTracker.getInstance();
mGoogleAnalyticsTracker.startNewSession(pContext.getString(R.string.google_analytics_web_property_id),
pContext.getResources().getInteger(R.integer.google_analytics_tracking_time_in_seconds),
pContext.getApplicationContext());
}
public static void init(Context pContext) {
sInstance = new Session(pContext);
}
public static Session getInstance() {
return sInstance;
}
}
Я загружаю сессию во время заставки. Имейте в виду, что с этим решением вы не должны хранить большие объекты в памяти.
Session.init(this);
Например, я использую его для инициализации трекера Google Analytics, режима разработки и т. Д.