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

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

Войти
Регистрация
Восстановить пароль
 
fademike
1 / 1 / 0
Регистрация: 22.04.2016
Сообщений: 22
#1

Низкая производительность потока - Android

22.06.2016, 16:36. Просмотров 200. Ответов 4
Метки нет (Все метки)

Добрый День!
Пишу программу под android с кодированием(телефон у меня ZTE v7, пишу на Eclipse). Кодирование основано на простых циклах. Так как эти циклы вешают приложение в безысходность на 3 -10 минут, кодирование я поместил в фоновый поток. (пробовал на AsyncTask, Thread, ..). Не понравилось, что кодирует очень долго. Поток не разбить на более мелкие параллельные потоки(алгоритм не позволит)

Эту программу компьютер выполнит менее, чем за секунду..
Когда выполняется кодирование, Clean Master не показывает, что android-у тяжело.

Так как телефон многоядерный, я и подумал, может поток выполняется низкопотребляющим ядром и надо как-то поток направить/переключить в другое ядро или как-то поставить приоритет? Есть какие-нибудь идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2016, 16:36     Низкая производительность потока
Посмотрите здесь:

Завершение потока AsyncTask Android
Android Завершение потока
Android Работа с ListView из потока
Android Завершения потока
Android Оповещение в UI из потока
Android Ошибка потока в сервисе
Остановка зацикленого потока Android
Аргументы Async потока Android
Подмена потока с микрофона Android
Android Не работает остановка потока!
Android Возврат данных из потока
Остановка потока Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NanoDroid
0 / 0 / 1
Регистрация: 16.06.2016
Сообщений: 12
22.06.2016, 22:02     Низкая производительность потока #2
Насколько я знаю, выбирать ядро для потока нельзя.

Если Вы можете как-то оптимизировать свой алгоритм на С++, используйте JNI/NDK.
Или погуглите RenderScript. он работает на GPU.
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
23.06.2016, 15:40     Низкая производительность потока #3
Не знаю что у вас за алгоритм, но попробуйте его изменить, коль такой объем длинных циклов получился.
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 724
23.06.2016, 16:51     Низкая производительность потока #4
Цитата Сообщение от fademike Посмотреть сообщение
компьютер выполнит менее, чем за секунду
телефон от компа ничем не отличается, меряйте время там и там для сравнения и ищите причину
fademike
1 / 1 / 0
Регистрация: 22.04.2016
Сообщений: 22
29.06.2016, 16:30  [ТС]     Низкая производительность потока #5
Цитата Сообщение от NanoDroid Посмотреть сообщение
Если Вы можете как-то оптимизировать свой алгоритм на С++, используйте JNI/NDK.
А нельзя ли большой цикл переписать на С++ с JNI/NDK и основная программа его использовала бы?

Цитата Сообщение от NanoDroid Посмотреть сообщение
Или погуглите RenderScript. он работает на GPU.
Почитал про RenderScript. Но, как я понял, он заточен для работы с изображениями, а для перебора массива чисел, я не понял как его использовать(( Мне кажется, вариант с RenderScript самый удобный. буду пытаться реализовать на нем. Если имеется уже опыт, то подскажите пожалуйста, как на нем реализовать!? И GPU работает только в функции root?
Yandex
Объявления
29.06.2016, 16:30     Низкая производительность потока
Ответ Создать тему
Опции темы

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