Использование Ion с контекстом приложения
Я заинтересован в использовании Ion/AndroidAsync для "бэкенда" приложения для Android. Я не хочу делать длительные вызовы, привязанные к компоненту Android, поэтому у меня есть фоновый слой, который остается в живых до тех пор, пока Application
является живым. Этот фоновый слой имеет API, который позволяет пользовательскому интерфейсу выполнять асинхронные вызовы для выполнения различных задач и возвращает Future
в пользовательский интерфейс (также допускает обратный вызов, который выполняется в главном потоке), чтобы он мог передаваться между компонентами, если это необходимо.
Мне нравится API Ion, но я не хочу вызывать его из Activity; скорее, я хотел бы использовать его в своем фоновом слое, поскольку "задаче" также может потребоваться выполнение других длительных операций в сочетании с сетевым вызовом. При этом, я столкнусь с любыми проблемами, если я передам заявление Context
в Ion.with()
?
2 ответа
Это будет хорошо работать с контекстом приложения. Он никогда не отменяет никаких запросов, поскольку контекст приложения никогда не умирает. Но это то, что вы хотите.
- Мой проект использует экземпляр Ion по умолчанию с запросом контекста приложения для всех изображений.
- http://www.programcreek.com/java-api-examples/index.php?api=com.koushikdutta.ion.loader.HttpLoader
этот пример с открытым исходным кодом использует контекст, чтобы получить контекст приложения. Таким образом, вы можете использовать приложение. - Но у экземпляра Ion есть ссылка на приложение, я думаю, что длинная задача может вызвать утечку экземпляра приложения.
- Ion.getDefault (Контекст контекста).cancelAll(Объект o); Это поможет вам лучше справиться с вашей заявкой.