30

2019年终总结,一位本命年程序猿的年终总结

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzIxNzU1Nzk3OQ%3D%3D&%3Bmid=2247489666&%3Bidx=1&%3Bsn=fc347b0d5b55c3e7ed48072054cedb97
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

code小生 一个专注大前端领域的技术平台 公众号回复 Android 加入安卓技术群

作者:chaychan

链接:https://www.jianshu.com/p/980ecb5a42de

声明:本文已获 chaychan 授权发表,转发等请联系原作者授权

本命年的一年

今年是我的本命年,尽管有大多数人都不信本命年会遭遇厄运,认为是迷信、传说,但是身为一个潮汕人,从小就成长在充满了对神明信仰的氛围中,对于本命年这一说法,自然也是相信的。所以在年初的时候就已经做好了祛邪、避灾、祈福的准备,特别是年初的时候,请多了几天假,过完了元宵才回去上班的。因为我们那里是正月十二左右才开始热闹起来,“游神”、“逛花灯”、“跳火堆”等等活动都是在那段时间才开始,好久没有体验到这般热闹。还有就是“拜老爷”,乞求今年可以事事顺利。经过一年劳累工作的我,在春节期间狠狠地充满了电。

辞职原公司,就职新公司

四月份的时候,我从公司离职了,来到了大学同学就职的公司。离职的原因是3月份的时候,公司已经决定缩小业务规模,而且说可能不需要移动端开发了。另外两名安卓同事相继被裁员,仅剩下我一人负责安卓端的开发,IOS端的也只留下一名同事。本来裁员是件很正常的事,但是令我心寒的事,裁员的时候并没有提前一个月通知他们,哪怕是一个星期也可以,而是发完工资的那天,我的那些同事们就被无情地裁员,而且只给了三千块左右的赔偿。看着老同事一个个被裁员,心中难免会有种失落感,毕竟很多同事都是相处了近一年半的时间,感情很深,顿时感觉工作没了那种氛围。恰巧那时大学同学问了我关于安卓的问题,顺带问了一下近况,我便跟他说了自己有打算辞职的准备,他说刚好他就职的公司还在招聘安卓开发,而且福利也相当不错,让我试下投简历,投完简历后,在后面几天,分别经历了一面、二面、人事面后,拿到了offer,我和新公司约定好4月1号入职。

后面就忙着交接的事情,还有就是找房子。因为我在公司这一年半都是住在宿舍,和另外几个同事一起住,所以要准备搬出去。要找到一个心仪的房子还真是不容易,后来在3月份最后一个周末的时候,找了距离新公司最近的一个地铁口附近的房子,租金1750元,2017年在深圳龙岗的时候,租过一次房子,两房一厅1200,这边宝安一个单间就已经是1750元了,住房方面的花销还是有点大,不过这边价格普遍就是这样,也就接受了。

新的行业,新的尝试

接手新工作

记得我在写 精仿今日头条 这篇博客的时候,曾说过我一直想尝试自己还未接触过的某类APP,而来到新公司的时候,刚好可以尝试到直播行业的APP。这是一个2016年开始写的项目,到现在已经开发和维护了近3年了,拉到代码的那一刻,我有些惊讶,项目的module多达20个,和交接的同事向我说明这样分module的好处,主要是为了打SDK的时候可以选择哪些模块一起打进去,另外就是这些module大多都是两两配对,分别是接口和实现分开,比如location-api和location-impl。项目目前仅仅只是将功能模块化,并非业务模块化。

项目改进

适配Android 8.0 9.0

由于应用市场要求后续时间上架app的targetSdkVersion要不小于28(Android 9.0),但是目前项目的targetSdkVersion是25(Android 7.1.1),这意味着我要做Android 8.0 和 9.0的适配,在做Android8.0 Service适配的时候,我封装成了一个框架叫做 AndroidOServiceCompat,这是一个针对安卓8.0对后台服务的限制,对Service做出了兼容的框架,使用AndroidOServiceCompat框架,可以让你的项目的Service更快更方便地兼容安卓8.0。相关的介绍和使用我也写了一篇博客Android8.0 Service的适配框架。

升级gradle 部署jenkins自动打包

项目原先使用的 gradle 版本是3.5,gradle 插件 2.2.3,由于项目 module 实在是多,所以编译起来很慢,尽管我刚进公司第一天就忍受不了这么慢的编译速度,想着之前有过 gradle 插件升级到3.x的经验,迫不及待地尝试了更新,但是由于项目的 module 太多,报了一大堆没有遇到过的问题,而且那时忙着对接和做新迭代的需求,一直没有时间做,7月份的时候才抽了时间升级了 gradle 版本到 4.10.2,插件版本 3.3.1,编译速度提高了差不多一倍;另外也抽了时间部署了 jenkins 自动打包、加固、打渠道包,然后打包完发送钉钉消息通知,直接把安装包在服务器的地址发给渠道的同事,由他们直接上传到市场,不需要像之前一样手工加固然后压缩发钉钉,可以说是只需要一键点击 Jenkins 打包,就可以实现“一条龙”打包加固的过程了。

集成ReactNative

12月份的时候,公司要求移动端学习并落地 RN,在原有的项目中集成RN,方便实现一些频繁更改页面的开发和维护,由于之前学习过 Flutter,所以学习 RN 的时候对于其思想很容易就接受了,集成RN遇到了不少坑,因为是在已有项目中集成 RN,所以项目的目录结构和直接用RN构建的项目结构不同,之前不知道要在 gradle 中声明 react 配置,配置RN根目录地址,导致打 release 包的时候一直抱错,在度娘和谷歌上都找不到相关的内容,后面是通过在 react.gradle 中 println 出相关属性的值,才发现原来是RN根目录路径错了, 耗费了6个小时左右,而且还是在周六加班到很晚才搞定。

总结

今年是个忙碌而又不是很顺利的一年,毕竟是本命年,其中许多酸甜苦辣,只有自己知道。今年写的博客比较少,加上这篇总结,也就9篇,主要也是因为忙,入职新公司后,每天都有事情做,很少有空闲时间进行总结和对自己框架的维护,还有就是不想为写博客而写博客,而是当遇到一些别人还没有遇过的难题或者没有封装的东西,自己踩过坑后总结出来,并写博客分享给别人,这是我最想要做的。

对于2020年的寄望

即将告别本命年,相信否极泰来,明天会更美好,学会热爱生活,拥有命运给我惊喜。准备入门 Objective-C,启程 IOS 之路,开发 IOS 应用。

相关阅读

1 Android 组件化工程结构以及项目具体实施方案

2020 年移动开发趋势

2019 年终总结,245+篇,已分类整理

动态代理原理及在 Android 中的应用

你知道 Android 为什么会 Crash 吗

B3Q7faa.jpg!web

如果你有写博客的习惯

欢迎投稿


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK