LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

https://github.com/koush/AndroidAsync вроде оно.

В общем хорошо подумав я пришёл к выводу, что прям как я хочу, без поддержки разработчиков андроида видимо не сделать. Потому что мне надо вмешиваться в главный цикл и в нём постоянно проверять состояние сокетов. Если я просто буду это крутить нон-стопом, то это просто будет глупая нагрузка на CPU. Если я буду это постить с таймером (если вообще такое есть в андроиде), то соединения будут подлагивать как раз на задержку этого таймера, что не есть идеально. Единственный адекватный вариант это таки пускать второй поток и в нём уже крутить свой цикл по Selector-у. Собственно так этот AndroidAsync и работает. Пожалуй единственная существенная претензия к нему - он заточен под андроид. Если я захочу использовать общий код на сервере и на телефоне, это может быть затруднительно. Но это мелочи.

PS а где можно посмотреть реализацию этого самого главного цикла андроида? Может туда таки можно влезть как-нибудь?

Исходная версия Legioner, :

https://github.com/koush/AndroidAsync вроде оно.

В общем хорошо подумав я пришёл к выводу, что прям как я хочу, без поддержки разработчиков андроида видимо не сделать. Потому что мне надо вмешиваться в главный цикл и в нём постоянно проверять состояние сокетов. Если я просто буду это крутить нон-стопом, то это просто будет глупая нагрузка на CPU. Если я буду это постить с таймером (если вообще такое есть в андроиде), то соединения будут подлагивать как раз на задержку этого таймера, что не есть идеально. Единственный адекватный вариант это таки пускать второй поток и в нём уже крутить свой цикл по Selector-у. Собственно так этот AndroidAsync и работает. Пожалуй единственная существенная претензия к нему - он заточен под андроид. Если я захочу использовать общий код на сервере и на телефоне, это может быть затруднительно. Но это мелочи.