Прежде всего я хотел бы сказать, извините, если мой вопрос пустышка, я только начинаю с Android. В Интернете я нашел статью, в которой говорится, что синглтон, ссылающийся на активность, вызывает утечку памяти. Я не могу понять, как это происходит! Представьте себе такую ситуацию - у нас есть интерфейс с именем MyInterface
, есть синглтон с именем MySingleton
и действие, которое реализует MyInterface
interface MyInterface {
void foo();
}
class MySingleton {
static MySingleton shared;
MyInterface delegate;
private MySingleton() {};
MySingleton getShared() {
if(shared == null)
shared = MySingleton();
return shared
}
void setDelegate(MyInterface delegate) {
this.delegate = delegate;
}
class MyActivity extends AppCompatActivity implements MyInterface {
@Override
void foo() {//do something}
@Override
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MySingleton.getShared().setDelegate(this);
// do other setup
}
, поскольку Java не имеет циклический c ссылка не должно быть проблем с сборкой мусора MyActivity
, или я ошибаюсь? Еще раз спасибо, если вопрос пустышка и спасибо