美文网首页
android 开发之性能优化方向

android 开发之性能优化方向

作者: 锦文豪武 | 来源:发表于2019-07-18 20:42 被阅读0次

    一、内存优化

    1、内存泄露

    资源没有及时释放,线程启动后要销毁,service启动后使用完毕要取消注册,BroadcastResver注
    册后不使用要取消注册,尽量使用弱引用

    2、oom(内存溢出)

    要求的内存超过限制.避免方法:使用软引用或弱引用(根据对象是否经常使用来判断选择,
    经常使用用软引用,不被经常使用用弱引用)

    3、内存抖动

    频繁的进行创建销毁GC,造成内存抖动

    4、enum(枚举)

    不推荐不使用枚举Enum,因为枚举占用内存大。

    二、图片优化

    1、Drawable代替图片

    Drawable代替图片,能用drawable的尽量用,纯色,圆角、渐变、椭圆、边框等。

    2、.9.png图片

    .9.png图片的使用:图片拉伸的时候不会失真,.9图片必须放在drawable里mipmap中无法识别.9图片。

    3、inSampleSize图片大小

    使用Bitmap的BitmapFactory.options中的inSampleSize变量减少加载到内存中的图片大小。

    4、一套合适的图片

    尽量使用一套合适的图片如xxhdpi,xhdpi.部分多套,切一套图1920x1080进行适配。

    5、使用异步加载,缓存等

    使用异步加载,缓存等,使用第三方Glide.因为这个图片框架是目前最好的一套网络加载框架,with里面是上下文,可以是activity,fragment等等。
    6、如果Bitmap图片没有再次用到,那么进行recycled 进行回收,bitmap置为空,释放图片资源。

    三、性能优化

    尽量少使用或不是使用第三方框架,因为第三方可能会造成代码冗余,apk过大,依赖冲突等情况。

    四、布局优化

    1、merge

    使用merge根布局减少层级。不是一个viewGroup,也不是一个view.对merge设置的所有属性都是无效的

    2、layout

    使用layout进行布局复用,如title。

    3、viewStub

    使用viewStub进行懒加载,是一个不可见的view,通过延迟加载布局的方式提升布局渲染,在初始化时不需要显示,在特定的条件下才进行显示,进行渲染,如:网络请求失败,列表为空,新功能和新内容的引导,view在特定情况下才显示。

    相关文章

      网友评论

          本文标题:android 开发之性能优化方向

          本文链接:https://www.haomeiwen.com/subject/csmrlctx.html