仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 993|回复: 11
打印 上一主题 下一主题

[学习教程] IOS制作之Android ListView 优化最好理论仓酷云

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:26:35 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
把上面两个对象连在一起把他们变成一个整体所有的CD操作都是通过这个类的这个需要仔细看文档了举个不恰当的例子就像三个人收拾衣服一个人负责衣服的存放位置(NSManagedObjectModel)一个人负责把衣服分类冬天穿夏天穿等(NSPersistentStoreCoordinator)我有篇博客教人人怎样使用convertView和viewHolder(static)改良ListView卡顿情形;可是在ListView加载大批庞大结构和图片的时分,即便利用了convertView和viewHolder,ListView仍是卡顿,本文次要会商了怎样在加载庞大list_item同时包管ListView流利性。
中心头脑是
监听滑动据加载,异步加载数据。
getView函数必定不克不及耗时,有耗时义务要异步加载。
次要的办法:

  • 先判别以后ListView的形态,只要ListView中断滑动才开启新线程加载数据,其他形态均疏忽。

  • 利用getFirstVisiblePosition和getLastVisiblePosition办法来显现item。

  • 耗时义务必定不要在getView办法中举行,最好异步举行。

详细代码以下:
  1. 1//1.判别listView形态2AbsListView.OnScrollListeneronScrollListener=newAbsListView.OnScrollListener(){//ListView3//触摸事务45publicvoidonScroll(AbsListViewview,intfirstVisibleItem,intvisibleItemCount,inttotalItemCount){6}78publicvoidonScrollStateChanged(AbsListViewview,intscrollState){9switch(scrollState){10caseAbsListView.OnScrollListener.SCROLL_STATE_FLING://滑动形态11threadFlag=false;12break;13caseAbsListView.OnScrollListener.SCROLL_STATE_IDLE://中断14threadFlag=true;15startThread();//开启新线程,加载数据16break;17caseAbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL://触摸listView18threadFlag=false;19break;20default:21//Toast.makeText(contextt,"default",22//Toast.LENGTH_SHORT).show();23break;24}25}26};
复制代码
信任做到以上三点,就可以使用自若的利用ListView了,O(∩_∩)O哈哈~

管理你的ViewController的层次可以自己写View切换的动画关掉他默认的动画文档:还有个蛋疼的UIWindow都快忘了他了因为iOS是从MacosX过来的很多工具直接拿来用这个UIWindow就是在iOS里每个App独占屏幕所以同时存在的只有一个UIWindow
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 07:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表