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

Странные тормоза на реактор - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Виджет с компонентом WebView http://www.cyberforum.ru/android-dev/thread1022390.html
Всем привет!) Хотелось бы узнать, как создать простенький виджет на рабочий стол для отображения заданной интернет странички. Сам с программированием под android и работе в среде разработки Eclipce мало знаком, но хотелось бы создать такой простенький виджет для личных целей. Подскажите пожалуйста, буду очень признателен!! :))
Android GPS. Слушатель LocationListener Изменения текущего местоположения сохраняю в файл, сохраняя время и координаты. Потом просматриваю его и выясняется, что записи дублируются по несколько раз. Подозреваю, что это происходит после того, как программу вызвали второй раз после того, как она свернулась (смену ориентации запретил). Я понимаю, что тогда создается новый слушатель. Но неужели не удаляется старый? public void... http://www.cyberforum.ru/android-dev/thread1022359.html
Android GPS. Слушатель LocationListener
Изменения текущего местоположения сохраняю в файл, сохраняя время и координаты. Потом просматриваю его и выясняется, что записи дублируются по несколько раз. Подозреваю, что это происходит после того, как программу вызвали второй раз после того, как она свернулась. Я понимаю, что тогда создается новый слушатель. Но неужели не удаляется старый? public void onCreate(Bundle...
unfortunately has stopped android Android
Я не могу интегрировать карты в Android приложения, действовал по сайту https://developers.google.com/maps/documentation/android/start но у меня выдает ошибку unfortunately has stopped android
Android GC при запуске приложение http://www.cyberforum.ru/android-dev/thread1021967.html
При запуске приложения в логе вижу череду сообщений о работе GC 11-28 15:13:53.887: D/dalvikvm(1742): GC_CONCURRENT freed 318K, 50% free 3047K/6023K, external 2792K/3486K, paused 1ms+2ms 11-28 15:13:54.107: D/dalvikvm(1742): GC_CONCURRENT freed 154K, 51% free 2999K/6023K, external 2861K/3573K, paused 1ms+4ms 11-28 15:13:54.257: D/dalvikvm(384): GC_CONCURRENT freed 480K, 50% free...
Android Круг для завершения активности Здравствуйте! Хочу спросить как можно добиться вот такого результата: Имеется Окружность, а внутри окружности имеется маленькая окружность. Надо создавать 2d графику? Рисовать с помощью canvas? и как сделать эту окружность то что внутри, условие для перетаскивания margin(x,y, 0 , 0); чтобы за пределы большой окружности не выходила не выходила? подробнее

Показать сообщение отдельно
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518

Странные тормоза на реактор - Android

28.11.2013, 22:47. Просмотров 204. Ответов 0
Метки (Все метки)

Переписал "по правилам" и получил торможение.

Пишу свой обработчик мультитатча (гибче класики).
Сделал все через свой обработчик onTouch(
Сначала сделал статичный класс с обработчиком onTouch(
Сделал свою процедуру-реактор для отрисовки OnMultiTouch (кручу/зумю картинку)
Вызываю этот обработчик из onTouch( примерно так:
Java
1
2
3
public static int onTouch(View v, MotionEvent event) {
onMultiTouch(utils_MultiTouch.onTouch(v, event));
}
Результат utils_MultiTouch.onTouch пока только int
Все довольно шустро работает (рисует все 5 пальцев с истрией)

Подучил теорию... решил переписать на реакторах (грамотнее, больше возможностей, легче передавать сложные параметры)
Создал в классе MultiTouch
Java
1
2
3
4
5
6
7
8
9
10
    public interface onMultiTouch {
        public void onMultiTouch(int oper);
    }
    private static onMultiTouch out_onMultiTouch;
    public void setOnMultiTouch(onMultiTouch _onMultiTouch) {
        this.out_onMultiTouch = _onMultiTouch;
    }
    private static void _out(int event) {
        if (out_onMultiTouch != null ) out_onMultiTouch.onMultiTouch(event);
    }
и вызываю в мультитатч обработчике _out(123) когда нужно (со старым кодом реакции).

заменил в рабочем классе (там где рисую)
onMultiTouch(utils_MultiTouch.onTouch(v, event));
на
utils_MultiTouch.onTouch(v, event);
добавил
private utils_MultiTouch multiTouch = new utils_MultiTouch();
multiTouch.setOnMultiTouch(new utils_MultiTouch.onMultiTouch() {
@Override
public void onMultiTouch(int oper) {
onMultiTouch(oper);// старый обработчик
}
});


Обработчиков больше не стало(пока). Ничего не изменилось, но onMultiTouch вызывается раза в 2 дольше. Явное торможение при отрисовке пальцев (очень хорошо видно на тонких линиях)
Единственное подозрение на то что класс мультитатча статик.

Вопрос: У меня руки кривые или обработчик зря использовал - он изначально задумывался как более удобный, но тормознутый? Где накосячил? Прежде чем переписывать все с нуля (убирать статик - много менять), хотелось бы узнать Ваше мнение.
Еще знаю есть другая технология реакторов - добавление в шапку активити и @Override onMultiTouch. Это поможет?
В моей схеме реактор конечно НАМНОГО удобнее будет, но если дальше будет еще больше тормозов, прийдется отказаться от "накручивания" проекта вообще...

В идеале (планируется) вместо одного кода реактор должен давать список кодов вместо одного для обработки рисунком - тянем и провернули и зумировали и удерживаем уже 2 секунды; клик и дблклик с задержкой в 3 секунды.... А вместо таблицы кодов с кучей параметров проще вызывать несколько обработок с разными операциями на одно действие пользователя/пальца.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru