Я могу найти множество учебных пособий, которые показывают, как должен конструироваться и использоваться HttpClient в простом случае. Но я не могу найти достойную документацию для более сложных случаев.
В моем приложении у меня есть несколько Активностей, и каждый из них должен иметь возможность взаимодействовать с удаленным Web-сервисом с помощью сообщений POST, используя HTTPS. Я также должен войти в эту службу, поэтому мне нужно управлять файлом cookie для входа.
В настоящее время я создаю отдельный HttpClient для каждой операции в .onStart () и выпускаю его в .onStop (). У меня есть рабочая очередь, которая содержит объекты, описывающие детали задачи, которая должна взаимодействовать с удаленным сервисом. Я выполняю эти задачи, используя один рабочий AsyncTask. Это решение, похоже, работает, но я просто не уверен, что оно самое оптимальное.
Я думал о 2 других архитектурах:
- Создание фоновой службы, которая обрабатывает HttpClient. Таким образом, я мог бы использовать один и тот же экземпляр для нескольких действий, и я думаю, что это было бы лучше. Но я не уверен, когда остановить эту Службу и выпустить HttpClient.
- Создавайте HttpClient только при необходимости. Например, когда пользователь нажимает кнопку, которая инициирует удаленный вызов, я создаю клиент, настраиваю файлы cookie и сообщение POST, выполняю его, а когда это делается, я немедленно отпускаю его. Я думаю, что этот подход довольно плох из-за накладных расходов, связанных с созданием такого клиента (особенно если я использую HTTPS).
Итак, кто-нибудь, у кого есть больше знаний о работе HttpClient и о том, как с ним следует обращаться в Android, не мог бы ты прокомментировать эти подходы / поделиться некоторыми полезными советами?
Спасибо