Выпускать ресурсы в приложении? - PullRequest
0 голосов
/ 01 марта 2012

Я работаю над приложением, в котором мне нужно соединение с сервером.Мне также нужно получить доступ к этому соединению из различных действий.
Чтобы добиться этого, я собирался переопределить класс Application и создать соединение там.Это позволило бы легко взаимодействовать с каждым делом, так как я мог просто позвонить getApplicationContext().getConnection(), чтобы получить доступ к своему классу соединений.

Проблема этого подхода заключается в том, что у класса Application нет никакого метода onDestroy() или подобного, в котором я могу освободить соединение и любые связанные ресурсы.Я не думаю, что наилучшим подходом здесь является простаивание до вызова onLowMemory().
Я не могу добавить пользовательский метод release(), так как не знаю, когда его вызывать (есть две операции, которые могутбыть последним активным, и в зависимости от действий пользователей, которых они не знают, должен ли другой запускаться при выключении активного).

Есть ли хорошее решение для этого, если япросто игнорируйте освобождение ресурсов (до onLowMemory()) или есть лучший способ достичь того, чего я хочу (возможно, Service, но, поскольку будет несколько вызовов базового класса, это может стать чрезмерно проблематичным с Сервисом?)

1 Ответ

0 голосов
/ 01 марта 2012

Просто используйте Singleton Шаблон проектирования. Создание класса соединения Singleton дает вам подход к доступу к соединению из разных действий, и не забывайте управлять многопоточностью.

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