Несколько экземпляров клиента Google API?
У меня есть активность A который создает экземпляр GoogleApiClient, подключается и начинает обработку в AsyncTask, которая может занять секунды или минуты.
между тем, пользователь запускает активность B это создает экземпляр собственного GoogleApiClient с подключением.
вопрос: Может ли приложение иметь несколько экземпляров GoogleApiClient, подключенных и работающих одновременно, или я должен сохранить приложение singleton с моим собственным семафоры?
3 ответов
возможно иметь несколько подключенных GoogleApiClients, просто, возможно, неэффективно. Вы должны быть осторожны, используя GoogleApiClient с AsyncTasks, что он не отключается, если действие уходит.
рассмотреть управление GoogleApliClient в сохраненный фрагмент. Смотри http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html
Это прекрасно, чтобы сохранить столько GoogleApiClients, сколько вы хотите вокруг,и часто есть веские причины для этого (разделение фрагментов, разных учетных записей и т. д.). Это также не особенно неэффективно. Стоимость двух клиентов менее чем на 1% выше стоимости одного клиента.
Это может быть запутанным, если все они пытаются разрешить ошибки, поэтому, вероятно, хорошая идея заставить клиентов фрагмента игнорировать сбои соединения и иметь действие или Клиент уровня приложения отвечает за решение проблем.
вопрос разрешать очень общим знанием состава ООП и картиной дизайна фабрики. Говоря что-то о 1%, Как @Hounshell ниже, это не инженерный подход.