ListView工作原理、卡顿及OOM--android

Android ListView工作原理完全解析,带你从源码的角度彻底理解- http://blog.csdn.net/guolin_blog/article/details/44996879

ListView卡顿或UI卡顿:

  FPS绘制率过低。

  1..Adapter的getView方法里面convertView没有使用setTag和getTag方式;

  2.在getView方法里面ViewHolder初始化后的赋值或者是多个控件的显示状态和背景的显示没有优化好,抑或是里面含有复杂的计算和耗时操作;
  3.在getView方法里面 inflate的row 嵌套太深(布局过于复杂)或者是布局里面有大图片或者背景所致;
  4.Adapter多余或者不合理的notifySetDataChanged;

  5.listview 被多层嵌套,多次的onMessure导致卡顿,如果多层嵌套无法避免,建议把listview的高和宽设置为fill_parent. 如果是代码继承的listview,那么也请你别忘记为你的继承类添加上LayoutPrams,注意高和宽都是fill_parent的;

 6.分页加载;图片的三级缓存;列表滚动时不加载图片


OOM:
出现oom,主要是以下几个方面:
 一、加载对象过大
 二、相应资源过多,没有来不及释放。

 基于Android开发多媒体和游戏应用时,可能会挺经常出现Out Of Memory 异常 
解决这样的问题,也有一下几个方面:
 一:在内存引用上做些处理,常用的有软引用、强化引用、弱引用
 二:在内存中加载图片时直接在内存中做处理,如:边界压缩.
 三:动态回收内存
 四:优化Dalvik虚拟机的堆内存分配
 五:自定义堆内存大小

android oom 全解析--http://www.cnblogs.com/manuosex/p/3661762.html
Android Out Of Memory(OOM) 的详细研究-- http://www.cnblogs.com/wanqieddy/archive/2012/07/18/2597471.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值