2013-06-10 3 views
1

Я создаю приложение, которое использует прокручиваемые вкладки, и я заметил, что когда у меня есть только текст в одной вкладке, проходящей от одной к другой, работает бесшовно, однако, когда у меня есть страница, с 8 кнопками, которые при нажатии играют например, в mp3, требуется некоторое время, чтобы прокручивать и выходить из этой страницы. Все это делается с Fragments. Я заметил, что в некоторых приложениях (например, в приложении Googles Play Music) есть вкладки с гораздо более интерактивным контентом, чем у меня, и прокрутка в порядке. Кто-нибудь знает, как ускорить работу на вкладках? Я пробовал Google для решения, но я не увенчался успехом.Закладка прокрутки на вкладке Android

+0

Попробуйте включить аппаратное ускорение (http://developer.android.com/guide/topics/graphics/hardware-accel.html#controlling) –

+0

Это немного помогло, но оно по-прежнему довольно лаконично по сравнению с другими приложениями –

ответ

2

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

  • Избегайте сложных макетов
  • Избегайте много альфа-прозрачности
  • Избегайте макетов по сравнению с другими раскладками с альфа
  • Избегайте вложенности Раскладка
  • Избегайте использования вложенных layout_weight
  • Если вы используете ListView/GridView убедитесь, что вы повторно используете представление и используете ViewHolder
  • Если вы используете много изображений убедитесь, что вы cache them
  • Попробуйте включить Hardware Acceleration если ваши платформы/устройства поддерживают их

Почему бы вам не попробовать тест, где вы полностью упрощать вкладки - не имеют ничего в них? Можете ли вы получить хороший прокручивая производительность на вашем приложении, удалив просмотры? Затем начните строить свои взгляды, чтобы узнать, что вызывает проблему. Вот как я буду диагностировать проблему.

+0

I используя Eclipse, и когда я создал проект, я автоматически создал шаблон вкладки, который отлично работает, но на каждой вкладке есть только 1 символ. Я удалил это и добавил кнопки, которые вызвали проблему. Я использую аппаратное ускорение, которое не помогло, но я использую 'GridView', поэтому я попробую' ViewHolder'. Спасибо за предложение –

0

Если вы делаете салфетки для дизайна материалов с помощью пейджера с представлением, вы можете резко повысить производительность, используя viewPager.setOffscreenPageLimit (3); В основном это зависит от количества вкладок в дополнение к текущей вкладке. Таким образом, вместо 3 вы можете указать общее количество вкладок - 1, так как ваша текущая вкладка также запущена. Тем не менее рекомендуется, чтобы вы не сохранили более трех вкладок, или ваше приложение будет потреблять слишком много ресурсов и может быть убито.

Смежные вопросы