新技术又又又又又又又来了?

原标题:新技术又又又又又又又来了?

此“新技术”主要指大厂近期对外的分享,「大厂的对外分享系列」更新一篇, 目前 第 17 期,如果你对新技术都比较感兴趣,欢迎持续关注。

上一期链接:

新技术又又又又又又来了?

这一期距离上一期挺久了,所以内容也会丰富一些,不过还是对文章做了一些挑选。

1. 推荐两个年终总结

因为已经到 21 年了,如果还没有做年终总结的,可以给自己 20 年做个大致的总结,顺便给 21 年列一些重点目标,然后做下拆解为执行方式。

当然也可以看看一些优秀作者的年终总结,从他们身上尝试吸取一些经验和做事的方式,一起努力。

Flywith24的年终总结

我不是大佬,但我相信我在通往成为大佬的路上 | 掘金年度征文

https://juejin.cn/post/6903681611716362254

详细介绍了他整个学习生涯,学习方式,以及很多不错的学习资源推荐。

jsonchao 的年终总结

JsonChao 的 2020 年终总结

https://juejin.cn/post/6911091834219397134

相信大家对于 jsonchao的性能优化的文章都记忆犹新,从年终总结来看,可不仅是性能优化,还有 gradle plugin,算法,计算机基础,ndk,framework等等…都是他一年的学习计划。

作者对每个专题都做了比较详细的学习规划,非常值得借鉴。

2. 大厂对外文章分享

贝壳产品技术

贝壳APP Top Experience系列 | Android方法耗时统计工具

还是算比较常规的方案,通过 ASM 插桩,不过说起来容易,真要做成一个完善的框架还是没有那么轻松的,需要考虑各种 case:例如方法的耗时统计还要考虑到方法执行过程中发生了异常等等,值得借鉴一下。

字节跳动技术团队

抖音 Android 性能优化系列:Java 内存优化篇

Java OOM 一直是 Java Crash中比较难搞的问题了,这篇文章还是比较干的,可以看到产生 Java OOM可能有哪些原因,针对类原因:如何处理,需要哪些工具建设,中间也会涉及到很多原理上的知识。

腾讯音乐技术团队

QQ音乐Android编译提速之路

主要思路有些类似于热修复、Instant Run,只编译改动的代码,然后 push 到手机上运行,但是这个过程涉及太多的细节:资源处理,kotlin 等等,想要稳定的跑起来,还是极其不容易的,可以学习下。

有赞之前也分享过一个方案:

有赞 Android 编译进阶之路 —— 增量编译提效方案Savitar

https://tech.youzan.com/you-zan-android-bian-yi-jin-jie-zhi-lu-zeng-liang-bian-yi-ti-xiao-fang-an-savitar/

和 QQ 音乐的方案大的思路上是类似的,不过都没有开源,感觉未来增量编译这一块:只编译修改的代码,然后 push到设备运行,是个比较大的趋势,而且效果确实显著。

这个思路,其实在很久很久以前就有人提出了,当时我还记得推送过:

Android 加快apk的构建速度,如何把编译时间从130秒降到17秒

还是期待能有一个稳定运行的开源方案出来。

美团技术团队

移动端UI一致性解决方案

移动端开发,相信大家可能有 30%的时间都在处理 UI 上,如果项目中有一致的规范、一套非常丰富的 UI 组件库,然后 PM、UI、UE、研发等角色都使用这个组件库,可以极大的提升开发的效率,看下美团是如何做的吧。

西瓜技术团队

Android D8编译器“bug”导致Crash的问题排查

这个就比较硬核了,感兴趣的自己查看吧。

Google 开发者

响应视窗属性动画 | 让您的软键盘动起来 (二)

在 Android 11上,键盘终于要支持比较融合的弹出动画了,不用再羡慕 IOS 了…

历史分享(点击可直接访问):

3. 字节跳动开源内存快照裁剪压缩压缩工具 Tailor

https://github.com/bytedance/tailor

目前已经用于:

内存一直和稳定性息息相关,毕竟 OOM 是崩溃的大头,OOM 的产生其中一个因素就是内存泄露,谈到内存泄露大家就会想到 LeakCanary,LeakCanary 它的使用的场景主要还是线下并且是以页面为粒度的。

而更多的时候,我们希望线上用户发生了 OOM 也能把内存hprof 文件上传上来做自动化的分析,但是 OOM 时候的内存快照是极其大的,所以需要裁减掉一些不太重要的信息,这个时候内存裁减工具就显得比较重要的。

另外这块,之前推荐的快手的线上内存监测方案也可以参考学习:

https://github.com/KwaiAppTeam/KOOM

4. 滴滴开源小桔棱镜

https://github.com/didi/DiDiPrism

这是一个专注 于移动端操作行为的工具,涵盖APP操作回放、操作检测、以及数据可视化能力。

支持 App 功能回放还是比较有意义的,记得以前在小度的时候,还想着可以自定义操作,然后把操作行为定义成语音识别,这样App 就可以通过语音去控制自定义行为了。

不仅如此,其功能在于自动化测试,以及埋点测试上都有比较不错的应用场景。

看到该项目说明已经在生产环境运行一年了,目前我们项目还没有这个能力,今年准备好好看一下这个,尝试具体场景落地下。

5. 滴滴开源更新Dokit For Flutter

https://github.com/didi/DoraemonKit/tree/master/Flutter

内测版本,目前提供了日志、method channel信息、路由信息、网络抓包、帧率、设备与内存信息查看、控件信息查看功能。

DoraemonKit的维护还是非常勤快的,从开源的角度来看也取得了非常不错的成绩,1.6w 的star,功能确实好用,最近又更新了对 Flutter 的支持,感兴趣的可以关注一波。

拆解 Dokit 的各个功能,还是能学到不少有意思的技术点的。

好了,如果你对官方、大厂发布的技术文章和开源项目感兴趣,那么欢迎关注本号,本号将持续为你推送所有大厂移动端对外动态。

另外 wanandroid问答也更新了,感兴趣可以去学习~

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如该页面侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。