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

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

Войти
Регистрация
Восстановить пароль
 
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 421
#1

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

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

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

Задержку делаю через Thread.sleep(ms).
Интернет медленный. Так вот когда экран не заблокирован, все идет более менее нормально. Когда блокирую, то интервал между воспроизведение резко увеличивается. Допустим из 5 сек - задано, 1мин - в реале.
Это тугой интернет, или блокировка как то влияет на интернет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
19.02.2014, 20:58     Блокирование интерфейса замедляет ответ сервера #2
А зачем вам бесконечный цикл?
Ваша "блокировка" на интернет влиять не может, это факт.
Но то, как вы ее сделали, может влиять на вызовы методов, которые обращаются к серверам.
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 421
19.02.2014, 21:07  [ТС]     Блокирование интерфейса замедляет ответ сервера #3
zulkis, можно поподробней.

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

Задержку делаю через Thread.sleep(ms).
Интернет медленный. Так вот когда экран не заблокирован, все идет более менее нормально. Когда блокирую, то интервал между воспроизведение резко увеличивается. Допустим из 5 сек - задано, 1мин - в реале.
zulkis
681 / 608 / 38
Регистрация: 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.
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 421
20.02.2014, 11:12  [ТС]     Блокирование интерфейса замедляет ответ сервера #7
Извиняюсь за грубость.Никак не хотел нагрубить. Просто считал что обьяснил понятно, но видимо это не так. Спасибо за ваши старания. Я это понимаю и благодарен Вам.
По поводу вопроса, я в сервисе создаю отдельный поток, и в нем есть бесконечный цикл загрузка, воспроизведение, задержка.
Что заметил.
Ставлю задержку 15 сек. Экран не блокирую. Все идет нормально.
Если блокирую - воспроизведения идет но с рандомным интервалом.
В режиме отладки - все нормально.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
20.02.2014, 11:19     Блокирование интерфейса замедляет ответ сервера #8
Цитата Сообщение от ASDFD12 Посмотреть сообщение
я в сервисе создаю отдельный поток
Другое дело, новая инфа.

А может уберете цикл и замените его на вызов метода, который будет загружать и воспроизводить музыку, а потом вызывать самого себя по таймеру?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 02:01     Блокирование интерфейса замедляет ответ сервера
Еще ссылки по теме:

Отправить Get запрос и увидеть ответ сервера Android
Android Верстка красивого интерфейса
Android Подключение к БД с java (ответ от сервера)
Улучшение интерфейса. TimePicker Android
Android Ответ от PHP сервера

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

Или воспользуйтесь поиском по форуму:
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 421
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
Yandex
Объявления
21.02.2014, 02:01     Блокирование интерфейса замедляет ответ сервера
Ответ Создать тему
Опции темы

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