Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
1

Блокирование интерфейса замедляет ответ сервера

18.02.2014, 11:48. Просмотров 659. Ответов 8
Метки нет (Все метки)

Есть сервис, в котором бесконечный цикл.
В этом цикле идет:
1. загрузка звука.
2. воспроизведение звука
3. задержка.

Задержку делаю через Thread.sleep(ms).
Интернет медленный. Так вот когда экран не заблокирован, все идет более менее нормально. Когда блокирую, то интервал между воспроизведение резко увеличивается. Допустим из 5 сек - задано, 1мин - в реале.
Это тугой интернет, или блокировка как то влияет на интернет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 11:48
Ответы с готовыми решениями:

Обработать ответ сервера
Здравствуйте. Яндекс отправляет мне вот такой ответ: This XML file does not...

Ответ от PHP сервера
Читал статью http://dajver.blogspot.com/2013/02/json.html А вот смотрите, если...

Подключение к БД с java (ответ от сервера)
Привет всем! Вобщем, проблемма вот в чем. Допустим, На сервере в БД в таблице...

Отправить Get запрос и увидеть ответ сервера
делаю так: HttpClient httpclient = new DefaultHttpClient(); HttpGet...

Блокирование движение за границу экрана
Доброго времени суток, начинающий познаватель сей многожрущий оперативки...

8
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
19.02.2014, 20:58 2
А зачем вам бесконечный цикл?
Ваша "блокировка" на интернет влиять не может, это факт.
Но то, как вы ее сделали, может влиять на вызовы методов, которые обращаются к серверам.
0
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
19.02.2014, 21:07  [ТС] 3
zulkis, можно поподробней.

Добавлено через 41 секунду
Цитата Сообщение от zulkis Посмотреть сообщение
А зачем вам бесконечный цикл?
для обновления данных
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
20.02.2014, 09:53 4
Стоп.
Thread.sleep(ms) в главном потоке похоже?
Если так, то "уберите это немедленно" и читайте как работать с UI потоком в android.
0
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
20.02.2014, 10:43  [ТС] 5
zulkis, читайте внимательно вопрос
Есть сервис, в котором бесконечный цикл.
В этом цикле идет:
1. загрузка звука.
2. воспроизведение звука
3. задержка.

Задержку делаю через Thread.sleep(ms).
Интернет медленный. Так вот когда экран не заблокирован, все идет более менее нормально. Когда блокирую, то интервал между воспроизведение резко увеличивается. Допустим из 5 сек - задано, 1мин - в реале.
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
20.02.2014, 11:02 6
Цитата Сообщение от ASDFD12 Посмотреть сообщение
читайте внимательно вопрос
ASDFD12, Фу как грубо, а я вам помочь хотел. Вы бы сначала сами в вопросе разобрались...

Caution: A service runs in the main thread of its hosting process—the service does not create its own thread and does not run in a separate process (unless you specify otherwise). This means that, if your service is going to do any CPU intensive work or blocking operations (such as MP3 playback or networking), you should create a new thread within the service to do that work. By using a separate thread, you will reduce the risk of Application Not Responding (ANR) errors and the application's main thread can remain dedicated to user interaction with your activities.
0
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
20.02.2014, 11:12  [ТС] 7
Извиняюсь за грубость.Никак не хотел нагрубить. Просто считал что обьяснил понятно, но видимо это не так. Спасибо за ваши старания. Я это понимаю и благодарен Вам.
По поводу вопроса, я в сервисе создаю отдельный поток, и в нем есть бесконечный цикл загрузка, воспроизведение, задержка.
Что заметил.
Ставлю задержку 15 сек. Экран не блокирую. Все идет нормально.
Если блокирую - воспроизведения идет но с рандомным интервалом.
В режиме отладки - все нормально.
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
20.02.2014, 11:19 8
Цитата Сообщение от ASDFD12 Посмотреть сообщение
я в сервисе создаю отдельный поток
Другое дело, новая инфа.

А может уберете цикл и замените его на вызов метода, который будет загружать и воспроизводить музыку, а потом вызывать самого себя по таймеру?
1
ASDFD12
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 544
21.02.2014, 02:01  [ТС] 9
не могли бы подсказать как по таймеру делать вызов))

Добавлено через 12 минут
zulkis, кое-что нашел, буду пробовать

Добавлено через 5 часов 25 минут
пробовал
Java
1
2
3
4
5
6
7
Timer myTimer = new Timer();
myTimer.schedule(new TimerTask() {
    @Override
    public void run() {
        myCycle();
    }
}, 0,15000);
результат тот же. Задержка через
Java
1
TimeUnit.SECONDS.sleep(15);
тоже не помогло. Заметил если телефон на зарядке - все нормально работает (тоесть не только в режиме отладки).
Может быть надо что-то с режимом электропитания поменять, через PowerManader.

Добавлено через 8 часов 58 минут
помогло включение режима PARTIAL_WAKE_LOCK
1
21.02.2014, 02:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 02:01

Indy: программа не получает правильный ответ от сервера, но сниффер показывает правильный ответ
Всем привет. Моя программа должна сделать гет запрос на определенный сайт. Я...

Ответ сервера
Есть некий скрипт, для генерации конечного результат идет запрос на сервер...

Ответ сервера
Вот смотрите, есть TCP клиент и TCP сервер. Клиент стучится, сервер слушает. И...


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

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

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