it行业工程师往往给人很木的感觉,实际上个个都是性情中人,心里藏着一团火。
从代码或工程命名可以看出很多工程师都是性情中人。
比如有拿地名做名字的,有拿吃的做名字的,有的给项目起的名字像外号等等。
拿android来说。
1.android的版本,cupcake, donut, froyo,以及让android名声大噪的2.3 Gingerbread, 里程碑4.0 Ice Cream Sandwich,kitkat,5.0是lollipop,以及后边的棉花糖,牛轧糖,oreo等,9.0是pie。明显都是吃货。可能就是因为这一天的免费零食是pie,而这一天正好项目立项,pie很好吃,代号就是pie了。
normandie播放框架的命名也是由于立项正好赶上二战胜利周年纪念,normandie登陆使二战欧洲战场态势发生了转变。
2.android里的播放器命名为awesome(牛b)player, nu(乐队走电子迷幻路线)player,基于alooper,ahanlder,amessage实现的线程,异步等机制很大程度上解决了框架api实现里的耗时操作比较容易引起的应用anr等问题比如访问网络或弱网络下请求播放数据等情况。
normandie播放框架参考了这套机制基于looper,handler,thread,event实现了自己的线程模型,在多核cpu上运行可以获得更高的效率,异步机制,为网络请求耗时比较容易引起anr做了大量优化,比如nuplayer没有的abort机制,可以随时中断请求线程避免在快速退出切换等场景下网络请求线程阻塞等等。
3.android里引入的开源openssl改名boring(无聊烦人)ssl。
normandie播放框架支持https的时候折腾过一段时间openssl内嵌到ffmpeg,版本兼容问题很麻烦,版本稍有变化就不兼容了,确实够boring的。

还有哪些欢迎跟帖。

03-05 15:59