网站首页 > 资源文章 正文
经常有人问我,作为刚毕业的要去面试,关于安卓开发的问题,技术面试官会经常问哪些问题呢?我想来想去不能一股脑的全写出来,我准备把这些问题单独拿出来写,并详细的分析一下,这样对于初学者是最有帮助的。这次的第一个问题就是:ListView的复用及如何优化!
1、ListView的复用简单来说就是使用ViewHolder复用convertView。说完大家尤其是初学者,没看过源码的同学不太明白。那我就举一个例子,让大家能够明明白白。
例子如下:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.lv_item, null);
holder = new ViewHolder();
holder.textView = (TextView)convertView.findViewById(R.id.tv_text);
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
holder.textView.setText(mData.get(position));
return convertView;
}
}
public class ViewHolder {
public TextView textView;
}
2、如何进行优化呢?
①、如果item中有图片一定要用异步加载。而且里面的图片尽量要用缩略图或者小图。
②、判断手势,快速滑动时不加载里面的图片。
③、要对数据进行分页加载。
④、item的布局层级要越少越好。
3、如何检查呢?
可以使用hierarchview工具查看其优化。
什么是hierarchview?为什么要用它呢?
不合理的布局会使我们的应用程序UI性能变慢,HierarchyViewer能够可视化的角度直观地获得UI布局设计结构和各种属性的信息,帮助我们优化布局设计。HierarchyViewer是我们优化程序的工具之一,它是Android自带的非常有用的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器。
怎么用它呢?
Hierarchy Viewer是随Android SDK发布的工具,位于Android SDK/tools/hierarchyviewer.bat (Windows操作系统,mac上显示的为hierarchyviewer),使用起来也是超级简单,通过此工具可以详细的理解当前界面的控件布局以及某个控件的属性(name、id、height等)。
1)连接设备真机或者模拟器。
2)启动你要观察的应用。
3)打开Hierarchyviewer,点击hierarchyviewer文件即可。
说到这里,我相信大家应该会对ListView的复用及优化有了一定的了解,如果在面试的过程中说出来,相信面试官应该会对你满意的!
更多内容和资讯或者问题,更多干货分享,尽在我的个人微信公众号,微信名:非著名程序员,微信号:smart_android(←长按复制)。个人微信号:loonggg 微博:涩郎,如有外包私活,移动开发业务可以加我微信。
猜你喜欢
- 2024-12-10 一个监控PLC的Android应用的开发过程-2
- 2024-12-10 android学习,listview
- 2024-12-10 ListView和RecyclerView的区别
- 2024-12-10 轻松学会:滑动组件ListView和GridView的使用
- 2024-12-10 那些技术—Listview的性能提高篇
- 2024-12-10 Excel VBA,通过ListView查阅工作表数据、外部数据源数据(1/5)
- 2024-12-10 Android中ListView的使用方法
- 2024-12-10 PC SDK二次开发:基于C#语言编写的ABB机器人控制器扫描程序
- 2024-12-10 Excel vba 如何导入导出工作表,数据管理方法介绍
- 2024-12-10 C#通过API接口读取KingSCADA实时库数据
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)