南京学思XSuperNEST中ListView优化

原创 2015年11月19日 22:09:33

XSuperNEST用ListView把数据展示给用户,为了更好的增强用户体验,我们要对其进行进一步的优化。


我这里说一下我用 ListView 的一些经验,为了尽量说的全面一些,这里列一些 Tips,具体的代码可以找相关的文章,或者一起交流:




1、首先,虽然大家都知道,还是提一下,利用好 convertView 来重用 View,切忌每次 getView() 都新建。ListView 的核心原理就是重用 View。ListView 中有一个回收器,Item 滑出界面的时候 View 会回收到这里,需要显示新的 Item 的时候,就尽量重用回收器里面的 View。
2、


利用好 View Type,例如你的 ListView 中有几个类型的 Item,需要给每个类型创建不同的 View,这样有利于 ListView 的回收,当然类型不能太多;
3、尽量让 ItemView 的 Layout 层次结构简单,这是所有 Layout 都必须遵循的
4、善用自定义 View,自定义 View 可以有效的减小 Layout 的层级,而且对绘制过程可以很好的控制;
5、尽量能保证 Adapter 的 hasStableIds() 返回 true,这样在 notifyDataSetChanged() 的时候,如果 id 不变,ListView 将不会重新绘制这个 View,达到优化的目的;
6、每个 Item 不能太高,特别是不要超过屏幕的高度,可以参考 Facebook 的优化方法,把特别复杂的 Item 分解成若干小的 Item,特别推荐看一下这个文章:https://code.facebook.com/posts/879498888759525/fast-rendering-news-feed-on-android/
7、为了保证 ListView 滑动的流畅性,getView() 中要做尽量少的事情,不要有耗时的操作。特别是滑动的时候不要加载图片,停下来再加载,这个库可以帮助你 Glide:https://github.com/bumptech/glide
8、使用 RecycleView 代替。 ListView 每次更新数据都要 notifyDataSetChanged(),有些太暴力了。RecycleView 在性能和可定制性上都有很大的改善,推荐使用。

相关文章推荐

南京学思已全面推出基于Open API云平台的下料及钢板管理解决方案

所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去...
  • njxuesi
  • njxuesi
  • 2015年03月13日 13:09
  • 950

南京学思基于Oracle数据库开发的优点

 现阶段南京学思使用的数据库是Oracle数据库,Oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。 一般Orac...
  • njxuesi
  • njxuesi
  • 2015年05月15日 11:37
  • 533

访学有感------------南京访学一周小记

一.初探南京 南京,简称宁,是江苏省会。南京地处长江下游沿岸,江苏省西南部,邻靠安徽省。初到南京时,将近九点,晚上,坐在地铁上看南京,表面上与北上广等其他大都市没有什么区别。但是,走在南京的小巷上,...

套料软件XSuperNEST更新换代至V2.0

XSuperNEST V2.0自动下料解决方案是专门针对重工制造业生产部门而开发的下料管理解决方案,主要包括四大管理模块:下料计划跟踪管理、板材多人领用管理、套料引擎、下料数据汇总统计管理,是车间管理...
  • njxs321
  • njxs321
  • 2013年06月07日 14:34
  • 799

XSuperNEST套料引擎

目前我国许多数控切割机自带软件,仍然停留在手工编程,即使用简单的NC转换软件,把CAD/DXF零件图转换为NC切割文件,然后在切割机数控系统 上进行人工排料和矩阵排料,在钢板上进行局部切割,...
  • njxuesi
  • njxuesi
  • 2014年06月27日 11:44
  • 666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:南京学思XSuperNEST中ListView优化
举报原因:
原因补充:

(最多只允许输入30个字)