У меня возникла ситуация, когда мое приложение для Android аварийно завершает работу, если оно какое-то время находилось в фоновом режиме. Мне кажется, что это потому, что некоторые из моих объектов собираются мусором. Моя структура и проблема следующие
Объект A принадлежит объекту приложения Android и создается в методе onCreate().
public class Application extends android.app.application {
private static Application instance;
private A a;
@Override
public void onCreate() {
super.onCreate();
instance = this;
a = new A(getApplicationContext());
}
public static A getA() {
return instance.a;
}
}
ArrayList создается в конструкторе объекта A.
ArrayList заполняется объектами типа B с помощью асинхронного вызова (загружается с сервера).
Теперь, когда мое приложение какое-то время находится в фоновом режиме (обычно в течение ночи) и я возобновляю его работу, оно падает, потому что ArrayList пуст. (ArrayList никогда не бывает пустым при обычном использовании и определенно не был пустым до того, как я отправил приложение в фоновый режим (прошлой ночью).
Итак, я предполагаю, что мои объекты B являются сборщиком мусора, и я действительно не понимаю, как это может произойти, поскольку они неявно принадлежат объекту приложения Android.
Есть ли у кого-нибудь какие-либо данные по этому поводу?