Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
#1

AsincTask нужен совет! - Программирование Android

24.10.2012, 15:53. Просмотров 599. Ответов 4
Метки нет (Все метки)

Написал приложение, в кратце алгоритм следующий:
1. MainActivity, состоит из ListView и двух кнопок. Первая кнопка добавляет строку в ListView, которая содержит некую формулу для последующей работы с ней. Вторая TogleButton - вкл/выкл, которая запускает, либо останавливает сервис, который выполняет дальнейшую работу.
2. MainService, запускает потоки используя формулы из ListView, сколько формул, столько и запускается потоков AsincTask, каждый новый поток добавляется в ArrayList<AsincTask> для удобства обращения к ним при выключении сервиса.
Все бы ничего, да вот работают почему-то только пять потоков, добавляю шестой, работают только 5 предыдущих...
Вопросы:
1. Почему работают только 5 потоков? Это ограничение или какая-то другая проблема?(при добавлении более 5 потоков свободную память проверял, ее еще предостаточно)
2. На android пересел недавно с Java, поэтому хотелось бы уточнить по поводу "пряморукости" данного алгоритма при работе на API 7, android 2.1.
P.S. переход на более позднюю android не желателен, т.к. необходимо захватить максимальный диапазон поддерживающих устройств.
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2012, 15:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос AsincTask нужен совет! (Программирование Android):

Нужен совет - Программирование Android
Добрый день, решил с головой погрузится в Android программирование, сейчас начал с книги Брюс Эккель - Философия Java, подскажите, какой...

Нужен вас совет - Программирование Android
У меня в планах реализовать простое приложение, подобие записной книжки с сервером) Хочу получать через json данные и выводить их на...

Нужен совет с облачными технологиями - Программирование Android
Здраствуйте.Нужна помощь. Тема диплома &quot;Использование облачных технологий в андроид приложениях&quot; ничего не могу найти по этой теме.Не...

Рисование пазлов, нужен совет - Программирование Android
Здравствуйте. Начал изучать программирование с написания Паззлов - аналога обычных картонных. Нужен совет в каком направлении двигать...

Получение данных с сайта. Нужен совет - Программирование Android
Вообщем, есть сайт - база жилья. Каждая карточка жилья - описание + фото. Вопрос: каким образом лучше всего сделать пприложение для...

Нужен совет с программой с использованием карт - Программирование Android
Ребят, такая проблема. Решил на курсовую (1 курс) сделать приложение с использованием гуглокарт, код использовал отсюда...

4
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.10.2012, 17:26 #2
попробуй как-то так
((ThreadPoolExecutor)AsyncTask.THREAD_POOL_EXECUTOR).setCorePoolSize(100);

Добавлено через 10 секунд
или что-то в этом роде.
1
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
24.10.2012, 21:23 #3
0. почитайте тут
1. убедитесь что вам необходимо использовать AsyncTask(если вам не надо обновлять UI из потока в котором выполняется ваша логика - вам не обязательно использовать AsyncTask)

лично я почти никогда не пользуюсь асинктасками а вместо них предпочитаю хандлеры.
возможное решение вашей проблемы - хандлер с лупером от мэйнтрэда + ExecutorService (посмотрите как им пользоваться) + FutureTask/Callable /Runnable/Future (зависит от того что вам надо)
1
mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
25.10.2012, 09:37  [ТС] #4
Цитата Сообщение от YAUHEN Посмотреть сообщение
0. почитайте тут
1. убедитесь что вам необходимо использовать AsyncTask(если вам не надо обновлять UI из потока в котором выполняется ваша логика - вам не обязательно использовать AsyncTask)
Вообще, в конечной версии приложения, UI из потоков обновлять не надо, но пока я его тестирую, мне это необходимо для мониторинга и выявления багов...
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
25.10.2012, 10:31 #5
Цитата Сообщение от mks81 Посмотреть сообщение
для мониторинга и выявления багов
может стоит задуматься о логировании? это не внесёт никакой дополнительно логики и если вам надо, то легко можно будет удалить из кода.

В любом случае из хандлера можно обновлять UI. Да и вообще, если взять пример: листвью в каждом из которых картинка "лениво" подгружаемая из интернета. Я не думаю что кто то будет реализовывать это используя обойму асинктасков а ведь ситуация на сколько я понимаю похожа на вашу по механизму работы.
0
25.10.2012, 10:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2012, 10:31
Привет! Вот еще темы с ответами:

Нужен совет в поиске неизвестной ошибки - Программирование Android
Выпустил обновление своего приложения и начались у некоторых пользователей ошибки. А именно при использовании виджета, он либо просто...

Приложение Android/iOS - нужен совет специалистов - Программирование Android
Всех приветствую! Являюсь владельцем блога на WordPress, хочу создать приложение на телефоны. Исходные таковы: 1. Сам не...

Нужен ваш совет. Игра или программа под Андроид - Программирование Android
Мне в течении двух месяцев надо писать приложения под Андроид. Это должна быть или программа-виджет, которая: 1) определяет, где сейчас...

Нужен совет по правильной логике для авторизации пользователя при запуске приложения - Программирование Android
Новичок в java и android, так что прошу сильно не пинать за терминологию :) Итак. Хочу ради самообучения сделать приложение, которое...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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