首页 > 代码库 > 安卓简历技术点——熟练掌握ListView的优化及异步任务加载网络数据。

安卓简历技术点——熟练掌握ListView的优化及异步任务加载网络数据。

 对于面试,可能listview这个问题,永远高频出现,毕竟开发中,他出现的也是高频的。 我先说下基本优化

listview优化

1.复用减少内存消耗---->convertView进行判断是否为空,不为空的时候,直接重新使用。为空的时候给他一个布局

2.减少查找id的次数----->定义一个ViewHolder 存储控件,然后与convertView绑定起来


对于以上的两条如果说你能在项目中用到并且将Viewholder抽取到一个单独的类中进行复用,面试官对你看法会有所提高的。 


继续吧 如果对于listview 数据量比较大的话 以上操作还是会出点问题的 比如图片处理 这一点 在下一节了,面试你也可以直接联合图片压缩 缓存进行显示 一起说


3.数据量大的情况下,我们可以使用分页加载 ,和分批加载

这时候 你要详细讲一下 分批加载的步骤了不然可能你想拿高工资有点难了。

Listview分批加载的实现思路:

最好的回答就是和你在简历上写的项目一起讲。

① 实现OnscrollLisTener 接口重写 OnScrollStateChanged和OnScroll方法,使用OnScroll进行滑动 ,检查是否有数据,如果有就addFooterView添加到adapter 记住刷一下如果没有了就把自定义的那个footer去掉,使用OnScrollStateChanged可以检测是否滚到最后一行,且停止滚动加载数据


异步任务加载网络数据

1.先从内存缓存中获取图片显示

2.获取不到再从sd中获取,

3.在获取不到就从网络中下载图片并保存在SD中,同时加入内存并且显示。


上面三个步骤 你如果可以讲详细点,可以将源码一点一点解释清楚  明天继续写 下一周去面试了....

安卓简历技术点——熟练掌握ListView的优化及异步任务加载网络数据。