еще для корневых экранов в SlidingMenu попробуйте переключать фрагменты вместо старта новой активити, как это сделано в Google+.
так получается более плавно
к минусам многих клиентов еще можно отнести отсутствие «Interactions» — показ ретвитов и новых фолловеров. этот API приватный, если я не ошибаюсь, поэтому он есть в официальном клиенте, и редко встречается в неофициальных.
вы мне укажите, где написано, что IntentService нужно биндить или что он удаленный.
IntentService хорош тем, что его легко писать, он не привязан к жизненному циклу UI и в нем реализована очередь запросов.
он вполне себе подходит для многих задач, как по мне.
я не пытался сказать, что IntentService уникален, у него есть и минусы. но мне больше нравится использовать разные подходы, доступные уже в Android SDK для разных задач, чем писать очередной AsyncRequestExecutorManager
это у многих андроид программистов болезнь такая — каждый пишет свой велосипед для многопоточности. ну и соотвественно, каждый утверждает, что сервисы и асинк таски — говно, а его решение все проблемы хэндлит.
На самом то деле, ваша статья отчасти не правдива. IntentService — выполняет задачи в бэкграунде, его не надо биндить, он стартуется интентом. его минус — только одна задача в одно время.
Я вот регулярно использую IntentService для синхронизации данных сервер -> локальная бд. и можно удобно общаться через LocalBroadcastManager или ResultReceiver. собственно и вся необходимость передовать сложные сериализуемые объекты отпадает.
А AsyncTaskи отлично кстати подходят для выкачивания картинок, особено в списках. есть на developer.android.com даже подробный гайд, как это правильно делать.
А еще часто идеально вписываются лоадеры.
А иногда нужно на Executorах сложную многопоточность написать с параллельными запросами.
У каждого подхода свои плюсы и минусы, мне кажется стоит их комбинировать и использовать в зависимости от ситуации. А писать свою реализацию на все случаи жизни, которая будет у каждого программиста своя, по моему не клево.
в продолжение дискуссии
вот только наткнулся на класс MultiThreadedIntentService. Наследует обычный Service и делает из него IntentService, только уже с возможностью выполнения нескольких задач одновременно.
у асинк тасков проблема не только с поворотами. вам могут банально позвонить когда ваше приложение работает.
а еще пользователь может сам свернуть ваше приложение и уйти по своим делам, такое тоже часто случается.
тысячи случаев, на самом деле, андроид так непредсказуем
я немного не в курсе, у хабра появлся API?
еще для корневых экранов в SlidingMenu попробуйте переключать фрагменты вместо старта новой активити, как это сделано в Google+.
так получается более плавно
IntentService хорош тем, что его легко писать, он не привязан к жизненному циклу UI и в нем реализована очередь запросов.
он вполне себе подходит для многих задач, как по мне.
я не пытался сказать, что IntentService уникален, у него есть и минусы. но мне больше нравится использовать разные подходы, доступные уже в Android SDK для разных задач, чем писать очередной AsyncRequestExecutorManager
На самом то деле, ваша статья отчасти не правдива. IntentService — выполняет задачи в бэкграунде, его не надо биндить, он стартуется интентом. его минус — только одна задача в одно время.
Я вот регулярно использую IntentService для синхронизации данных сервер -> локальная бд. и можно удобно общаться через LocalBroadcastManager или ResultReceiver. собственно и вся необходимость передовать сложные сериализуемые объекты отпадает.
А AsyncTaskи отлично кстати подходят для выкачивания картинок, особено в списках. есть на developer.android.com даже подробный гайд, как это правильно делать.
А еще часто идеально вписываются лоадеры.
А иногда нужно на Executorах сложную многопоточность написать с параллельными запросами.
У каждого подхода свои плюсы и минусы, мне кажется стоит их комбинировать и использовать в зависимости от ситуации. А писать свою реализацию на все случаи жизни, которая будет у каждого программиста своя, по моему не клево.
вот только наткнулся на класс MultiThreadedIntentService. Наследует обычный Service и делает из него IntentService, только уже с возможностью выполнения нескольких задач одновременно.
а еще пользователь может сам свернуть ваше приложение и уйти по своим делам, такое тоже часто случается.
тысячи случаев, на самом деле, андроид так непредсказуем