У меня есть Android ListView
, который имеет небольшие (скажем, 1-5 кадров) заикания во время прокрутки примерно каждую секунду или около того. Я понимаю, что многие телефоны Android имеют эти проблемы с плавностью анимации, однако на моем телефоне ( Motorola A855 под управлением Android 2.2), собственный список контактов прокручивается довольно плавно. Представление элементов в списке контактов более сложное, чем представление элементов в моем списке, а именно:
Я хочу добиться такой же плавности, как и исходный список контактов. Кажется, это должно быть возможно без оптимизации в машинном коде, но, возможно, я ошибаюсь в этом.
Я пробовал несколько вещей: я еще больше упростил представление элемента и попытался создать его программный экземпляр, а не в XML. Я также попытался изменить способ своей реакции на события щелчка по элементам по этой ссылке:
http://groups.google.com/group/android-developers/browse_thread/thread/7dc261a6b382ea74?pli=1
Нет из этих вещей, похоже, влияют на производительность.
Могу ли я что-нибудь сделать в своем приложении для повышения производительности? Я собираюсь развернуть это приложение на нескольких телефонах, поэтому изменение настроек на телефоне или рутирование устройства в моем случае не вариант. Вот метод getView из моего класса адаптера:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater flater = (LayoutInflater)context.getSystemService(ListActivity.LAYOUT_INFLATER_SERVICE);
layout = flater.inflate(R.layout.song_view, parent, false);
TextView first = (TextView)layout.findViewById(R.id.firstLine);
TextView second = (TextView)layout.findViewById(R.id.secondLine);
Thing t = array.get(position);
first.setText(t.title);
second.setText(t.name);
return layout;
}
Заранее спасибо!