自我质量管控

1,空指针判断,这个是常见的问题也是不容易发觉的问题。

例如:Message msg = getMyHandle().obtainMessage(); 这里的getMyHandle()就可能会返回一个空的handle从而造成空指针bug.尽量不要这样写,定义一个临时或者局部变量来判断一下是否返回null就不会空指针了。

2,资源使用完后释放

Cursor、File、数据流等资源都要手动close了,不能仅仅置为null。否则就会造成内存泄露。

3,列表类视图的getView中不使用convertView。当然这个存在也应该是粗心造成的,一般人不会搞错的,但还是写完代码检查一下。

有时候view的列表很多,内存中不可能分配很多内存,只会初始化一定量的子view,然后缓存起来下次用。convertView的意义在于滑动过程中,当一个view消失时,其对象就会作为convertView传去getview函数,而新出现的view就会通过getView函数去复用convertView。如果不使用缓存中已有的convertView,每次去实例化View,浪费时间浪费精力内存越来越大。

4,广播注册没取消

java会自动释放内存,但是类似广播注册了之后要记得手动取消注册不然就会造成内存泄露。

 

最后,经常跑一下findbugs,能清零就清零,这样代码潜在的问题也能尽早的发现一些。

 

个人学识所限,所述不一定完全对,请各位大哥批评指正补充。以后认识提高了也会回来增加一下。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值