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
- ListView优化
- listView优化
- ListView优化
- ListView优化
- ListView优化
- ListView优化
- listView优化
- listview 优化
- ListView优化
- listView优化
- ListView 优化
- ListVIew优化
- ListView优化
- ListView优化
- listview优化
- Listview 优化
- ListView优化
- ListView 优化
- 图片的异步加载和双缓存学习笔记——ImageLoaderConfiguration
- 图片的异步加载和双缓存学习笔记——ImageLoader
- 开张语
- ActionBarSherlock学习笔记——初始化控件
- ActionBarSherlock学习笔记——添加组件Menu
- ListView优化
- leetcode 350. Intersection of Two Arrays II 解题小结
- ActionBarSherlock学习笔记——ActionBar添加View
- 学生学籍管理系统_管理员登陆对学生的信息进行操作
- ActionBarSherlock学习笔记——SupportActionBar()属性设置
- ActionBarSherlock学习笔记——requestWindowFeature
- jzoj 1359. 【2011.12普及模拟】数三角
- ActionBarSherlock学习笔记——SearchView
- 【Leetcode】122. Best Time to Buy and Sell Stock II 【动态规划&贪心】