我有一个安卓系统ListView
,它在滚动时会有小(比如 1-5 帧)卡顿,大约每秒左右。我意识到许多Android手机在动画流畅度方面存在这些问题,但是,在我的手机(运行Android 2.2的摩托罗拉A855)上,原生联系人列表滚动非常流畅。联系人列表中的项目视图比我列表中的项目视图更复杂,即:
<RelativeLayout>
<TextView />
<TextView />
</RelativeLayout>
我只想实现与原生联系人列表一样好的平滑度。如果不优化本机代码,这似乎应该是可能的,但也许我错了。
我尝试了一些事情:我进一步简化了项目视图,并尝试以编程方式而不是在 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;
}
提前致谢!