您的位置:首页 > 移动开发 > Android开发

android开发的一些建议

2015-07-07 14:14 525 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: