Создание синглтон-класса из удаленного сервиса Android - PullRequest
0 голосов
/ 28 октября 2011

Я создал удаленный сервис.В этом удаленном сервисе я создаю одноэлементный объект.После создания этот объект должен оставаться до тех пор, пока не будет собран мусор.Теперь, когда я получаю доступ к этому объекту из класса singleton, я получаю правильный объект.но когда я обращаюсь к нему из внешнего класса, объект-одиночка становится нулевым, и мой класс создается снова.Я теряю весь инициализированный объект.

мой одноэлементный класс выглядит следующим образом

class myFactory {

    private static myFactory instance;

    private myFactory(){
    }

    public static myFactory getInstance(){
        if(instance == null) {
            instance = new myFactory();
        }
        return instance;
    }
} 

Я попытался переопределить финализацию в одноэлементном классе, чтобы проверить, собирается ли объект сборщик мусора, но он не входит в эту функцию.

За пределами объекта фабрики соединений, где бы я ни обращался к этому одноэлементному объекту, я получаю нулевое значение, и поэтому создается новый объект> что я делаю не так?

1 Ответ

0 голосов
/ 28 октября 2011

Это синглтон, и я не понимаю, почему он не должен работать. Но я предполагаю, что вы пытаетесь использовать Singleton в каком-то IPC-контексте, это было бы проблемой (поскольку удаленный сервис - это всегда новый поток).

Вопрос: зачем вам синглтон ... разве нет лучшего решения? Я не знаю всей вашей структуры Сервиса, но, возможно, имеет смысл получить экземпляр Фабрики при привязке к сервису.

Это может помочь, если вы можете дать больше информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...