android开发的一些建议

1.在移动开发中,get/set方法很多时候是完全没有必要的,而且是有性能消耗的,直接使用public的字段;当然如果需要对字段设置一定的控制,get/set方法也是可以酌情使用

2.出于性能考虑,android开发中不推荐使用枚举

3.显示图片时用setImageDrawable是最省内存高效的

4.预防图片OOM请使用底层的方法来替代使用java层的方法,即尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存,因此,改用先通BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 source,decodeStream最大的秘密在于其直接调用JNI->nativeDecodeAsset()来完成decode,无需再使用java层的createBitmap,从而节省了java层的空间,但是decodeStream直接拿的图片来读取字节码,不会根据机器的各种分辨率来自动适应,因此需要在hdpi和mdpi,ldpi中配置相应的图片资源,否则在不同分辨率机器上都是同样大小(像素点数量),显示出来的大小就不对了;在读取时加上图片的Config参数inSampleSize,可以跟有效减少加载的内存,

5.使用单例模式很好,但是要慎用,因为极有可能造成内存泄漏,遇到一些莫名其妙的对象为成功使用问题,先找找是不是单例的原因导致还是老对象没被替换的问题,如果是,解决方案也很简单,关键地方将老对象设置为null

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值