ListView优化

来源:互联网 发布:站长seo查询 编辑:程序博客网 时间:2024/06/08 09:57

1.在adapter中的getView方法中尽量少使用逻辑

2.尽最大可能避免GC

当你创建了大量的对象的时候,GC就会频繁的执行,所以在getView()方法中不要创建很多的对象,最好的优化是,不要在ViewHolder以外创建任何对象,如果你的你的log里面发现“GC has freed some memory”频繁出现的话,那你的程序肯定有问题了。

3.滑动的时候不加载图片

4.将ListView的scrollingCache和animateCache设置为false

scrollingCache本质上是drawing cache,你可以让一个View将他自己的drawing保存在cache中(保存为一个bitmap),这样下次再显示View的时候就不用重画了,而是从cache中取出。默认情况下drawing cahce是禁用的,因为它太耗内存了,但是它确实比重画来的更加平滑。而在ListView中,scrollingCache是默认开启的,我们可以手动将它关闭。animateCache: ListView默认开启了animateCache,这会消耗大量的内存,因此会频繁调用GC,我们可以手动将它关闭掉,所以我们代码可以这么写:

<ListView  android:id="@android:id/list"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:divider="@color/list_background_color"  android:dividerHeight="0dp"  android:listSelector="#00000000"  android:scrollingCache="false"  android:animationCache="false"  android:smoothScrollbar="true" /> 

5.item的布局层级越少越好

6.使用ViewHolder

0 0
原创粉丝点击