性能优化:要点

UI

  1. UI不可见时,及时释放资源
  2. 页面布局,尽量避免太多层级,避免被VM回收。
  3. 页面背景图
    • 在布局和代码中设置背景和图片的时候,如果是纯色,尽量使用color;
    • 如果是规则图形,尽量使用shape画图;
    • 如果是复杂icon,建议使用svg格式
    • 如果svg不满足需求,建议使用9patch图;
    • 如果不能使用9patch的情况下,针对几种主流分辨率的机型进行切图,比如xxhdpi
  4. View缓存
    • 在ListView和GridView中,列表中的很多项(convertView)是可以重用的,不需要每次getView就重新生成一项。
    • 页面的绘制其实是很耗时的,findViewById也比较慢。所以不重用View,在有列表的时候就尤为显著了,经常会出现滑动很卡的现象。
    • 推荐使用recyclerview
  5. 使用RenderScript、OpenGL来进行复杂的绘图操作
  6. 使用SurfaceView来替代View进行大量、频繁的绘图操作
  7. 自定义View中避免在onDraw方法里面执行复杂的操作,避免创建对象。
  8. UI线程只做界面刷新,不做任何耗时操作
    • 耗时操作放在子线程来做
    • 可以使用Thread+handle,AsyncTask,RxAndroid/RxJava等进行逻辑处理

线程,进程

  1. 使用多进程拆分时请注意,一个空进程也要额外占1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值