Плохая производительность при прокрутке на Android 4.3 с Nexus 10

Мое приложение, в котором есть представление списка с некоторой прокруткой, работает очень хорошо (прокрутка со скоростью 60 кадров в секунду) на всех телефонах, с которыми я его тестировал, Nexus One, Nexus 4 и Galaxy S3/4. Но производительность на Nexus 10 ужасна, вероятно, около 15 кадров в секунду или около того.

Я проанализировал, что это часть Execute графического конвейера. Я приложил скриншот Nexus 10 и Nexus 4, которые работают под управлением Android 4.3 и ничего смешного.

Пользовательский интерфейс даже нарисован в том же размере, с примерно таким же количеством пикселей. Таким образом, он покрывает около 20% поверхности Nexus 10 и 90% поверхности телефонов. Это означает, что проблема не в количестве пикселей. Кроме того, я проверил, чтобы при прокрутке обновлялась только область прокрутки, а не весь экран.

Мне интересно, как узнать, что вызывает фазу выполнения шоу на Nexus 10?

Привет, Микаэль Nexus 10Nexus 4


person Mikael Grev    schedule 08.11.2013    source источник
comment
Я могу исправить это с помощью mainView.setLayerType(View.LAYER_TYPE_HARDWARE, null); Что делает все гладко и на нексусе 10. Но остается вопрос, как мне проанализировать первоначальную проблему в случае ее повторного появления? Конечно, сейчас известно, что аппаратная поддержка не была включена в Nexus 10, что довольно странно.   -  person Mikael Grev    schedule 08.11.2013
comment
Используете ли вы собственный ListAdapter для ListView? Если это так, попробуйте использовать собственный ViewHolder, как предлагается здесь: developer.android.com/training/improving-layouts/   -  person koesie10    schedule 08.11.2013


Ответы (1)


У меня были проблемы с прокруткой, когда на экране было много NumberPickers. Так медленно!! Совет "Михаил Грев" mainView.setLayerType(View.LAYER_TYPE_HARDWARE, null);

person user1269737    schedule 21.03.2014