android开发 自我优势_Android开发性能优化之自己的一些心得

因为这个是面试必问的,在这做再一次的总结,希望能帮助到大家和我自己。

我觉得性能优化除了掌握必要的技术外,关键是细心,不厌其烦。

一、布局优化

删除布局中无用的控件和层次

FrameLayout好过LinearLayout好过RelativeLayout。能用一个控件完成不用两个控件

避免过度绘制

在多层次重叠的UI结构里面,如果不可见的UI也在做绘制操作,会导致某些像素区域被绘制了多次,这个主要是针对背景,在setBackground时看下是否多余

二、绘制优化

主要针对自定义View的onDraw方法要避免执行大量的操作

不要创建新的局部对象

如Paint能在初始化创建就不放到onDraw

不要做耗时的任务,也不能执行成千上万次的循环操作

三、内存泄漏优化

首先关于内存泄漏的理解:外部人为原因,无意识地持有对象引用,使得持有引用者的生命周期大于被引用者的生命周期

理解这话是关键,如我有静态变量,静态变量的创建需要context,这时我传了Activity的context,静态变量是和进程同样的生命周期,那是不是就算Activity关闭了,因为静态变量持有它,而导致它所占的内存就没办法被回收,也就任务内存泄漏

常见引发内存泄漏的原因:

1.集合类

虽然我不太认同集合类可以造成内存泄漏,但是如何集合元素对象是fragment或者activity,最好做下处理,进来在本界面操作。在合适的地方可以

// 释放objectList

objectList

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值