关闭

android开发的一些建议

标签: android 建议
187人阅读 评论(0) 收藏 举报
分类:

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4210次
    • 积分:116
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类