# 深入研究的知识点

现在Android技术发展到了中后期,针对技术的考核不再纠结于知识点,或者说技术人员之间在知识点上已经无太大区别,这个时候面试更加倾向于知识深入的能力、技术思维等,比如面试中面试官经常会说,你有没有研究的一些深入的点,如果没有准备经常会一脸懵逼,也不知道这个代表什么意思。

我们获取知识,基本有两种,一种是主动根据知识图谱学习,还有就是根据经历的业务,这两种方式能使某一个点的深入研究达到业界水平,基本上也是由于业务本身的需要,像一些阿里的高P,基本都是跟着淘宝的黄金十年成长起来的。大部分人都是没机会接触到这样的业务,但并不代表能力不行。下面我会举几个值得深入研究的点,供大家参考。

TextView性能问题

直播间聊天框或者大量图文混排业务,使用原生TextView会出现性能问题,相关研究方案如下:

日志性能

日志相关的可以参考微信的研究,这里面有很多可以具体深入的点:mmap、压缩算法等,甚至可以扩展到Linux系统是如何做存储的,相关的一整套方案

研究过大型开源项目源码

深入阅读过一些大型开源项目的源码,也是一种可深入的能力体现

内存优化

内存优化也可以作为一个专项研究,像内存分类、线程消耗等等

垃圾回收

java.lang.UnsatisfiedLinkError

如果项目中大量使用到so库的话,可能会经常碰到这个error,可以从这个点下去研究so库是如何加载,以及如何解决这个问题

浏览器相关

性能优化:

WebView性能、体验分析与优化

  1. 全局的webview,预加载
  2. 初始化、加载数据并行
  3. DNS采用和客户端API相同的域名

70%以上业务由H5开发,手机QQ Hybrid 的架构如何优化演进?

安全:

简析Chrome和Webkit的渊源

Android Chromium WebView学习启动篇

Webview 渲染机制

视频

多进程