Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Radzhab
12 / 12 / 0
Регистрация: 18.06.2011
Сообщений: 406
#1

ExecutorService "замораживает" UI - Программирование Android

01.10.2013, 00:34. Просмотров 595. Ответов 9
Метки нет (Все метки)

В методе парсю несколько страниц сайта. UI подвисает. Как исправить ситуацию
Java
1
2
3
ExecutorService executor = Executors.newCachedThreadPool();
 
Future<List> future = executor.submit(new Callable<List>() {
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2013, 00:34     ExecutorService "замораживает" UI
Посмотрите здесь:

ExecutorService - Программирование Android
Подскажите, пожалуйста, есть ли возможность, узнать сколько потоков занято и/или осталось? ExecutorService executorService =...

Взаимодействие ExecutorService и Listener - Программирование Android
Всем привет. Хотел спросить, кто как решает такой вопрос. Допустим есть регистрация, которая запускается в ExecutorService. Внутри ES...

Service, ExecutorService или что-то другое? - Программирование Android
Добрый день. Столкнулся с таким вопросом, есть листенер, который срабатывает, когда я добавляю новый пункт в список, этот листенер...

Игровое приложение "Шашки" для мобильных устройств - Программирование Android
Какой алгоритм работы искусственного интеллекта используется для игры в шашки &quot;человек против компьютера&quot; и какие разделы математики...

После вызова notifydataset() items в listview "моргают" - Программирование Android
столкнулся с такой проблемой, перерыл stackoverflow, ответа не нашел есть список listview, который показывает картинки, загружая их из...

Раздел "ЧТО НОВОГО" где добавлять текст? - Программирование Android
Доработал программу, хочу выложить обновления, не могу раздел найти &quot;ЧТО НОВОГО&quot;, где его искать?

Кириллица отображается в виде знаков "закорючек в ромбе" - Программирование Android
Если конкретно то вопрос в ромбе. Только кириллица , латиница отображается норм , я понимаю кодировки , но искал пол дня по всему инету -...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
01.10.2013, 00:38     ExecutorService "замораживает" UI #2
Использовать Runnable вместо Callable не пробовали ?
Radzhab
12 / 12 / 0
Регистрация: 18.06.2011
Сообщений: 406
01.10.2013, 00:51  [ТС]     ExecutorService "замораживает" UI #3
МНе нужно получать данные. Поэтом я его юзаю

Java
1
2
3
4
5
6
7
8
9
10
ExecutorService executor = Executors.newCachedThreadPool();
 
                        Future<List> future = executor.submit(new Callable<List>() {
                            @Override
                            public List call() throws Exception {
                                
                                buf = GetHtml(url);
                                return buf;
                            }
                        });
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
01.10.2013, 00:55     ExecutorService "замораживает" UI #4
А через Runnable, значит, данные получить невозможно ?
Может UI фризиться не на получении данных, а уже после.
AsyncTask попробуйте, если Runnable не хотите.
Radzhab
12 / 12 / 0
Регистрация: 18.06.2011
Сообщений: 406
01.10.2013, 01:14  [ТС]     ExecutorService "замораживает" UI #5
Я просто хочу юзать Executorservice
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
01.10.2013, 13:11     ExecutorService "замораживает" UI #6
Для AsyncTask тоже можно юзать экзекуторы)

Добавлено через 4 минуты
Netscape, А как получить результат Runnable не используя самописных методов и глобальных переменных?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 14:28     ExecutorService "замораживает" UI #7
вы, наверное, потом вызываете future.get() в UI потоке и UI поток ждет ответа.

Добавлено через 55 секунд
используйте обычный AsyncTask.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
01.10.2013, 15:34     ExecutorService "замораживает" UI #8
А как получить результат Runnable не используя самописных методов и глобальных переменных?
Использовать интерфейсы, например.
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
01.10.2013, 16:32     ExecutorService "замораживает" UI #9
Netscape, зачем использовать 2 интерфейса когда можно использовать 1? В чем профит?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 17:01     ExecutorService "замораживает" UI
Еще ссылки по теме:

Кнопка "Стереть данные", как от нее защититься? - Программирование Android
В настройках приложения есть кнопка &quot;Стереть данные&quot;, она удаляет все данные (в том числе и sql) приложения. 1 Есть ли способ...

TextInputLayout "открытие поля при старте программы" - Программирование Android
Ребят, всем привет! Вот решил немного изучить дизайн, и не могу понять в чем дело, когда использую TextInputLayout в своем view и стартую -...

Admob interstitial. Запретить закрытие кнопкой "назад" - Программирование Android
Как сделать так, чтобы межстраничное объявление закрывалось только нажатием на экране. А кнопка &quot;назад&quot; была не активна или выскакивал...

Как реализовать функцию "share via" в моем случае? - Программирование Android
Учил программирование для андроида, решил потренироваться написав свою программу, но процес зашел слишком далеко, и встал вопрос об...

Как сделать View "не прозрачным" для кликов - Программирование Android
В общем имею много слойный экран, на нижнем - карта, выше - элементы управления и всякие доп поля. Сейчас есть табличка которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
01.10.2013, 17:01     ExecutorService "замораживает" UI #10
Цитата Сообщение от KillAndEat Посмотреть сообщение
Netscape, зачем использовать 2 интерфейса когда можно использовать 1? В чем профит?
ООП, такой ООП.
Yandex
Объявления
01.10.2013, 17:01     ExecutorService "замораживает" UI
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru