Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
#1

Скролл без обновления канваса - Программирование Android

15.05.2013, 00:09. Просмотров 558. Ответов 7
Метки нет (Все метки)

Проблема в следующем - имеется достаточно большой канвас, на отрисовку которого уходит около 0.1 секунды. Когда этот канвас скроллится (View.scrollBy), автоматически вызывается invalidate(), из-за чего во время скролла наблюдаются подтормаживания. Возможно ли обойтись без обновления канваса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 00:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Скролл без обновления канваса (Программирование Android):

Обновление карты из DialogFragment, без обновления активити?
Подскажите пожалуйста, есть MapsActivity в нем вызывается Dialog в нем вставляю координаты нажимаю ок, передаю координаты в переменные...

Добавить скролл
Имеется приложение, в котором содержимое окна не помещается на экран устройства. А возможность прокрутки отсутствует. Как сделать...

Убрать скролл в ListView
Пишу форму для настольной игры. На форме несколько списков ListView, каждый из которых скрывается по кнопке. Всё это находится в...

Одновременный скролл нескольких ListView
Здравствуйте! Меня интересует вопрос по Android Studio, можно ли как-нибудь организовать одновременный скролл нескольких элементов на одном...

Порционная загрузка с AsyncTask и бесконечный скролл
Есть большой JSON с текстом и картинками. С помощью AsyncTask я гружу все данные, но возникла необходимость их грузить порционно,...

Скролл меняет размер при скролле PreferenceScreen
Main.java public class Main extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { ...

7
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:11 #2
скрол = обновление канваса

Добавлено через 30 секунд
любое изменение на экране это обновление канваса, за исключением OpenGL, там другие подходы.
0
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.05.2013, 00:20  [ТС] #3
мда, придется OpenGL изучать? =))
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:21 #4
не знаю) попробуйте оптимизировать отрисовку...
0
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.05.2013, 00:24  [ТС] #5
а что на счет SurfaceView? Облегчит ли это ситуацию, если отрисовка канваса, мягко говоря, тяжеловата?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:28 #6
вообще- то 0.1с не так уж много, может проблема в другом?

Цитата Сообщение от razer89 Посмотреть сообщение
а что на счет SurfaceView? Облегчит ли это ситуацию, если отрисовка канваса, мягко говоря, тяжеловата?
вообще SurfaceView эффективнее работает если нужно много динамики на экране.
0
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.05.2013, 00:36  [ТС] #7
Дело в том, что на канвасе я рисую кривую, которая достаточно долго просчитывается, когда достигает большой длины....
.....
Эммм... блин! пока писал, придумал, что можно ведь не рисовать всю кривую, а только видимую часть!!! =)) В общем, спасибо за диалог))
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:39 #8
Цитата Сообщение от razer89 Посмотреть сообщение
пока писал, придумал, что можно ведь не рисовать всю кривую, а только видимую часть!!!
правильная мысль!
0
15.05.2013, 00:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2013, 00:39
Привет! Вот еще темы с решениями:

Как создать шагающего человечка без канваса?
В общем нужно, чтобы был шагающий человечек, но без использования холста. Как это можно сделать с использованием компонентов TShape или\и...

Стилизованный скролл без бегунка
Добрый день, подскажите плагин для визуализации скролла, чтобы была возможность скрывать бегунок, а показывать только стрелки! Спасибо!

Как сделать скролл без jQuery?
как зделать скролл без всяких библиотек

Горизонтальный скролл без полосы прокрутки
Всем привет! Здесь http://jsfiddle.net/pvV5r/1/ пример вертикальной прокрутки без полосы, а как сделать горизонтальную? Не получается ни...


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

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

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