第一次观看我文章的朋友,可以关注、点赞、转发一下,每天分享各种干货技术和程序猿趣事
前言
职场的金三银四跳槽季又来了,不同的是今年比往年「冷」一些,形式更加严峻一些,大家多多少少可能都听到或看到一些信息,就是好多公司在优化裁员,作为求职者来说,面试是一道坎,很多人会恐惧面试,即使是工作很多年的老鸟,可能仍存在面试的焦虑。
这些题目是我之前的面试去腾讯、虎牙、美团、阿里、快手等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
由于涉及到的面试题较多导致篇幅较长,我根据这些面试题所涉及到的常问范围总结了并做出了一份学习进阶路线图及面试题答案免费分享给大家,文末有免费领取方式!
一、Android性能优化的方面
针对Android的性能优化,主要有以下几个有效的优化方法:
1.布局优化
2.绘制优化
3.内存泄漏优化
4.响应速度优化
5.ListView/RecycleView及Bitmap优化
6.线程优化
7.其他性能优化的建议
下面我们具体来介绍关于以上这几个方面优化的具体思路及解决方案。
二、布局优化
关于布局优化的思想很简单,就是尽量减少布局文件的层级。这个道理很浅显,布局中的层级少了,就意味着Android绘制时的工作量少了,那么程序的性能自然就提高了。
如何进行布局优化?
- ①删除布局中无用的控件和层次,其次有选择地使用性能比较低的ViewGroup。
关于有选择地使用性能比较低的ViewGroup,这就需要我们开发就实际灵活选择了。
例如:如果布局中既可以使用LinearLayout也可以使用RelativeLayout,那么就采用LinearLayout,这是因为RelativeLayout的功能比较复杂,它的布局过程需要花费更多的CPU时间。FrameLayout和LinearLayout一样都是一种简单高效的ViewGroup,因此可以考虑使用它们,但是很多时候单纯通过一个LinearLayout或者FrameLayout无法实现产品效果,需要通过嵌套的方式来完成。这种情况下还是建议采用RelativeLayout,因为ViewGroup的嵌套就相当于增加了布局的层级,同样会降低程序的性能。
- ②采用标签,标签,ViewStub。
标签主要用于布局重用。 标签一般和配合使用,可以降低减少布局的层级。 ViewStu