• 售前

  • 售后

热门帖子
入门百科

5秒到1秒,用户体验才是王道,Android性能优化详解

[复制链接]
123457287 显示全部楼层 发表于 2022-1-12 12:13:27 |阅读模式 打印 上一主题 下一主题
如果你工作了2 - 5 年以上开发经验还不懂得怎么去优化自己的项目,那可真的说不过去了,市面上各种App横空出世,谁能获得用户的青睐,谁就能在互联网浪潮里取得一席之地。

为什么性能优化对开发人员如此重要?

用户在使用应用过程的中,优秀的交互体验是我们留住用户不可或缺的一部分,所以不仅在面试中面试官会以此和你掰头,而且在工作中领导也会因为加载速度慢来敲打你学(打)习(工),那么性能优化,如果判断到底需不需要做,如果需要做又怎么去做或者说怎么去找到优化的切入点?
接下来让我们一起来探索性能优化(emo~

从这张多线程的导图中(太大,不清晰可在下文查看Xmind原件huoqu方式)我们可以看出:想要彻底搞懂性能优化是需要掌握很多技术点的。
Android性能优化主要包括布局优化、绘制优化、内存泄露优化、响应速度优化、ListView优化、Bitmap优化、线程优化以及一些优化建议
实际上每个面都可以扩展很多,需要在实际中多去运用

布局优化


  • 减少布局文件的层级(测量/布局/绘制的时间减少):可以使用来减少嵌套,RelativeLayout从而达到减少层级的目的,另外在相同层级的情况下使LinearLayout(相比于RelativeLayout更高效)
  • 使用include标签复用,merge标签降低层级,ViewStub来实现懒加载,另外补充一个Space可以用来占位

绘制优化(onDraw)

主要是避免执行大量的操作

  • 不要创建新的局部对象,因为onDraw可能会被频繁调用,会在一瞬间产生大量的临时对象,会导致占用过多内存,系统更加频繁的gc,降低执行效率
  • 不要做耗时的任务

内存泄露优化

其实内存泄露有很多种情况,但是书中列举的比较少

  • 静态变量导致的内存泄露(比如静态的context,静态的view)
  • 单例模式持有Activity
  • 属性动画(repeatCount为无限模式)

线程优化

主要是采用线程池,避免存在大量的Thread

  • 重用Thread,避免线程创建和销毁所带来的开销
  • 线程池还能控制最大并发数,避免大量线程因互相抢占系统资源从而导致阻塞
前段时间整理收集的关于Android性能优化的知识脑图总结和学习手册文档!既能够夯实底层原理、性能调优等核心技术点,又能够掌握普通开发者,难以触及的架构设计方法论。那你在工作中、团队里、面试时,也就拥有了同行难以复制的核心竞争力。下方链接获取
【Android开发交流】
Android性能分析与优化实战进阶手册



Android性能分析与优化实战进阶手册目录及内容展示

第一章:Android性能优化概述
第二章:卡顿优化


第三章:启动速度优化


第四章:内存优化


第五章:布局优化


第六章:线程优化


第七章:电量优化


第八章:稳定性优化


总结

作为过来人,我发现很多学习者和实践者都在 Android 性能优化上面临着很多的困扰,比如:


  • 工作场景中遇到“性能优化”难题,往往只能靠盲猜和感觉, 用临时性的补救措施去掩盖,看似解决了问题,但下次同样的问题又会发作,原因则是缺乏方法论、思路的指引,以及工具支持;
  • 能力修炼中,缺乏互联网项目这一实践环境,对“性能优化”只能通过理论知识进行想象,无法认识其在工作实战中的真实面目和实操过程;
  • 职场晋升中,只管功能开发,不了解组件设计原理,缺少深入地思考与总结,无法完成高并发、高性能系统设计这类高阶工作,难以在工作中大展拳脚,而有挑战的工作往往留给有准备的人。
总之,一旦遇到“性能优化”问题,很少人能够由点及面逆向分析,最终找到瓶颈点和优化方法,而性能优化是软件工程的深水区,也是衡量一个程序员能力高低的标准。 如果你还没有掌握这套主流技术,现在想要在最短的时间里吃透它,需要完整版的朋友可点击下方链接:
【Android开发交流】


来源:https://blog.caogenba.net/weixin_55362248/article/details/122440390
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作