У меня проблема с моим классом singleton, который используется службами. Одиночный сигнал вызывается двумя службами для уведомления. Singleton учитывает 2 переменные для двух служб.Android singleton над несколькими службами
Проблема заключается в том:
Один счетчик увеличивается только первые услуги и второй переменной другими службами, хотя это синглтон, который держит 2 переменные. Я не понимаю, почему две службы имеют разные экземпляры синглтона.
public static synchronized NotificationSingleton getInstance() {
if (mInstance == null) {
mInstance = new NotificationSingleton();
}
return mInstance;
}
Это должно возвращать единственный экземпляр синглтона.
Как вы обращаетесь к своему синглотону? –
Просто с getInstance(). Я сделал печать, чтобы показать, создан ли новый экземпляр, но есть только один созданный. – soMasu
Выполняются ли ваши службы в одном процессе (то есть: ваш манифест определяет 'android: process' для ваших услуг)? Имеет ли ваш singleton какие-либо нестатические вложенные классы, которые вы создаете в другом месте вашего кода? Кроме того, как вы обнаружили/подтвердили, что существует более одного экземпляра вашего синглтона? –