关于Android开发中的性能优化也是老生常谈的技术了。在许多大厂的招聘条件中就必须要求这项技术;因为Android 开发越来越规范, 国内工程师的素质,以及用户对产品的要求也越来越高。所以这也间接导致我们对研发项目的质量要求到了近乎苛刻的地步,但是许多Android开发人员优化这块始终不能做到极致。
在招聘网站上,大厂的硬性要求也是非常明显,必须要熟悉性能优化。
本篇我们来从这些地方切入,性能优化的几大方向。
- 启动优化
- 卡顿优化
- 内存优化
- 布局优化
- 线程优化
- 电量优化
- 稳定性优化
归纳以上大板块,可以分析出一下技术类目分支图:《高清图+Android性能优化笔记》点击可以查看详情。
在各大厂的面试中,性能优化的问题肯定不会缺席,目前各大厂都尤为关注开发者在性能优化部分的能力边界。一款产品的从开发到面世,凝聚了无数的心血,但如果最后因为卡顿、闪退等问题影响用户体验,导致用户流失,那么所有的努力都将付诸东流。这里我也总结一些大厂的面试题:
1 、谈谈你对Android性能优化方面的了解?
2、哪些情况下会导致oom问题?
3、ANR 出现的场景以及解决方案?
4、谈谈Android中内存优化的方式?
5、Android Native Crash问题如何分析定位?
6、谈谈怎么给apk瘦身?
7、谈谈你是如何优化App启动过程的?
8、谈谈代码混淆的步骤?
9、谈谈App的电量优化?
10、谈谈如何对WebView进行优化?
11、如何处理大图的加载?
12、谈谈如何对网络请求进行优化?
13、请谈谈如何加载Bitmap并防止内存溢出?
14、内存泄漏是什么?
15、内存泄漏有哪些情况,对应的解决方案?
16、App启动方式?
17、启动时间的测量?
18、为什么官方建议别在onDraw创建对象?
19、内存抖动为什么会导致程序卡顿与OOM?
20、内存泄漏产生的原因与排查方案?
更多的性能优化学习,可以查看上方的详细类目。性能优化也是企业考察一个高级 Android 工程师技术水平的重要维度。特别是诸多大厂在这方面尤为看重,毕竟就算0.1%的瑕疵,影响的将是百万级、千万级的用户体验!性能优化是我们进阶的必经之路。