Несколько экземпляров клиента 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 ниже, это не инженерный подход.