Я планирую реализовать Socket.io в android с помощью этой библиотеки для приложения на основе чата. Насколько я понял, библиотека кажется довольно хорошей. Я хочу знать, как поддерживать соединение одиночное сокетов во всем приложении все время? Здесь я перечислил способы достижения, в которых мне нужен лучший и стабильный способ.
Три способа
MainApplication Класс расширяет Приложение
Таким образом, у нас есть хороший объем, который поддерживает сокет в главном потоке (или жизненном цикле приложения), и всякий раз, когда экземпляр сокета требуется от активности, мы можем легко его получить. Но это основная нить, которая тоже проблема. Он может блокировать основной поток.
BoundService
Таким образом, мы можем связывать службу с действиями, и мы можем просто ее использовать. Выполнение в отдельном потоке - это способ достижения IO/сетевых вызовов. Но перекрестная обработка передачи дороже, чем прямой доступ к тому же процессу.
Синглтон
Поддержание связи в Singleton также имеет смысл. Но мы не знаем, когда экземпляр убит процессом, потому что он не работает в жизненном цикле активности.
Если у меня есть смысл, пожалуйста, помогите мне. Если не прокомментировать это.
Изменить
Я дал ответ, который больше подходит для меня.