Устранение неполадок с производительностью прокрутки в Android View - PullRequest
1 голос
/ 07 июля 2011

В настоящее время у меня возникают некоторые проблемы с прокруткой в ​​некоторых моих представлениях.Производительность на Galaxy Tab (7 дюймов) довольно низкая.Вместо того, чтобы пытаться объяснить мою иерархию представлений здесь, мне было интересно, есть ли у кого-нибудь общее руководство по устранению проблем с производительностью прокрутки на Android.Меня интересуют любые подходы или ошибки, о которых я должен знать при построении представлений, и как найти проблемные места, вызывающие медленную прокрутку

1 Ответ

5 голосов
/ 07 июля 2011

Эти несколько предложений помогут вам,

1- Используйте эффективный ListAdapter (используя метод ConvertView в getView ()) следующим образом: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

2- Есливы загружаете изображения по сети, загружаете в потоковый загрузчик и устанавливаете изображения в режим просмотра асинхронно.

3- И если вы отображаете изображения в элементах списка, сохраняйте кэш в виде HashMap;то есть HashMap, где целое число будет позицией, а Drawable будет материализованными изображениями.Используйте Drawables, доступный в Cache в вашем методе getView (), и загружайте изображения только в том случае, если Drawable имеет значение null, когда вы запрашиваете определенный индекс / позицию.

Как вы уже знаете, элементы списка отображаются (getView() вызывается) каждый раз, когда элемент в индексе прокручивается до видимого экрана;поэтому кэширование изображений и использование convertView (представление уже было создано один раз) сделает ваш адаптер и список эффективными.

Вы даже можете поместить некоторые system.outs в ваш метод getView (), чтобы увидеть разницу.

Надеюсь, это поможет

Best

-serkan

...