【性能优化】【UI】性能优化之ListView

Listview可以说是安卓最重要的控件之一,优化方法也非常多。

在网上搜索一番,并没有找到十分全面详细的优化方法。下面是自己对LIstview优化的总结。


1、使用Convertview+ViewHolder

2、尽量简化ItemView layout的层级,必要时可以使用自定义View.

3、保证Listview滑动的流畅性,getview()中减少耗时操作。注意:滑动时不要加载图片,停下时再加载。

4、Adapter 的 hasStableIds() 返回 true。notifyDataSetChanged() 的时候,如果 id 不变,ListView 将不会重新绘制这个 ItemView。

5、尝试用Recyclerview替换Listview,此控件是升级版的Listview。更高的解耦性,布局更灵活。

6、内存换时间,在有图片的时候。可以使用图片缓存、图片压缩、异步加载图片等方法。

7、使用分页加载。

8、ListView 中元素避免半透明

半透明绘制需要大量乘法计算,在滑动时不停重绘会造成大量的计算,在比较差的机子上会比较卡。在设计上能不半透明就不不半透明。实在要弄的话我个人是用个比较偷懒的方法,是在滑动的时候把半透明设置成不透明,滑动完再重新设置成半透明。
9、 尽量开启硬件加速
硬件加速提升巨大,避免使用一些不支持的函数导致含泪关闭某个地方的硬件加速。当然这一条不只是对 ListView。
10、每个 Item 不能太高
特别是不要超过屏幕的高度,可以参考 Facebook 的优化方法,把特别复杂的 Item 分解成若干小的 Item,特别推荐看一下这个文章:code.facebook.com/posts


括号中的8-9条是参考别人的文章总结的,下面对每一条做详细解释。

======================================================================================================================

7、使用分页加载。

步骤:添加提示下拉加载更多的布局。监听Listview已经滚动到最底端。加载数据。

猜你喜欢

转载自blog.csdn.net/caibaozixiaobai/article/details/50819315
今日推荐