Android TextView — загрузка процессора Marquee

у меня особая ситуация с проприетарной сенсорной панелью андроида. В приложении для Android у меня есть несколько текстовых полей на странице, которые используют функцию выделения. => Все работает нормально, но marquee использует почти 100% загрузку процессора, если на странице более 7 элементов TextView.

load идет к 0%-1%, если бегущая строка выключена.

мы уверены, что графический драйвер этой сенсорной панели, которую мы здесь получили, сломан, но у нас нет возможности что-либо там поменять, потому что она вся закрыта.

Подробно: профилирование ЦП (с DDMS) показывает, что большую часть времени используется в android.graphics.Canvas.nativeDrawPath(III)V.

Теперь мой вопрос: что вы предлагаете в этом случае?

(я не могу использовать многострочные поля, потому что пользовательский интерфейс настраивается пользователем и есть предопределенные виджеты, и я также не могу увеличить поля)

о да, это Android 2.3.3, и я не могу обновиться. Я не знаю, насколько умен эффект выделения Android 2.3, поэтому я думаю о реализации своего собственного эффекта выделения и попытке сгруппировать запросы на перерисовку вместе, но я подумал, что сначала спрошу здесь.

Я также пробовал кэширование textView, но это не помогло.

спасибо за любую подсказку, Майкл


person Michael Mangeng    schedule 03.10.2013    source источник


Ответы (1)


Для других с той же проблемой:

Я реализовал свой собственный «класс ScrollTextView extends TextView», который реализует пользовательскую рамку на основе символов, которая выглядит красиво и работает намного лучше. (удалять 1 символ в начале каждые 333 мс с небольшой паузой в начале. Затем повторить.).

Если приложение не развернуто на устройстве с ужасным графическим драйвером, оно просто активирует бегущую строку TextView.

странная, неожиданная проблема решена :-)

person Michael Mangeng    schedule 13.10.2013