fireplace

ListView的优化(多方面)

亡梦爱人 提交于 2020-03-24 07:33:05
3 月,跳不动了?>>> 在网上看了许多关于ListView优化的文章,自己也码了这么长时间代码关于ListView的优化也有自己的一点心得,下面是我对ListView优化的一些见解。 为什么要对ListView进行优化? 很多时候我们直接对ListView的适配器进行编写完成之后,运行程序,如果ListView中有很多item,你一直上下滑动的时候程序突然崩了,这就是因为你不停的滑动的时候,一直在Findviewbyid这样就会一直耗费程序的内存,导致崩溃; 如何对ListView进行优化? 1.使用viewholder class ViewHolder { ImageView iv_item_jzw; TextView tv_fireplace_name; ImageView iv_item_jzw_next; } 2.复用convertView 利用 convertView 来重用 View,切忌每次 getView() 都新建。ListView 的核心原理就是重用 View,如果重用 view 不改变宽高,重用View可以减少重新分配缓存造成的内存频繁分配/回收; @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = new