Android 这些内容你应该知道 | 3 期
早该有这个系列了,主要更新近期一些觉得大家应该了解的信息。
需要注意的是:
本系列不会八卦一些时间系数比较紧密的事情,即使这些内容更加有热度。
本系列注重内容的价值属性,希望任何时间看任何一期都有价值。
上一期入口:
1. 闲读
2. 大厂对外分享
1)Google 官方对外分享
2) 网易严选
网易严选技术专家解读ABTest 设计与原理
https://www.jianshu.com/p/4e7a271cd54a
3)美团
漫谈美团APP对Crash的治理之路
https://www.jianshu.com/p/923a24755456
4)有赞微商城
有赞微商城-Android组件化方案
https://tech.youzan.com/you-zan-yi-dong-androidzu-jian-hua-fang-an/
历史分享:
3. 大厂对外开源
1)腾讯 matrix
Matrix 是一款微信团队研发并日常使用的应用性能接入框架。 Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。
https://github.com/Tencent/matrix
上周也推送了一篇卡顿分析的源码解析:
微信自研APM利器Matrix 卡顿分析工具之Trace Canary
2)滴滴 booster
Booster 是专门为移动应用而设计的简单易用、轻量级、功能强大且可扩展的质量优化工具包,其通过动态发现和加载机制提供可扩展的能力,换言之,Booster 也是一个移动应用质量优化框架。
https://github.com/didi/booster
4. 其他优质、有趣项目
1)匹配手机号的正则
经常见群里有这个需求。
https://github.com/VincentSit/ChinaMobilePhoneNumberRegex
一组匹配手机号码的正则表达式。
2)HelloGithub
一个分享 GitHub 上有趣、入门级的开源项目。让你找到编程的乐趣,欢迎推荐、自荐项目。
这个库我关注的非常早,没想到一直在更新,如今已经 37 期了,可以帮你发现一些有趣的项目。
https://github.com/521xueweihan/HelloGitHub
3)RxJava2-Operators-Sample
以《你用不惯 RxJava,只因缺了这把钥匙 》这篇文章为开始, “拿 SQL 来隐喻RxJava操作符” 的见解,写的挺好,不过内容目前还很少,希望作者多更新这个系列文章。
https://github.com/KunMinX/RxJava2-Operators-Sample
不如做一件史上最无聊的事吧 —— 像设计师一样将每个像素都抠到极致,像工程师一样将工程设计模式和原则应用到每一个功能的编写,用无聊的方式来对抗无聊 —— 这是一款为无聊而生的面向 Android 开发者的操作符练习工具。
4)gitignore
各种语言的.gitigore,还有个 as 插件,会更方便一些。
https://github.com/github/gitignore
5. 玩 Android TODO 小程序上线&开源版本
该项目是根据玩安卓网站的Todo Api开发的一款非常简洁、易用的清单管理小程序,用于随手记录想法以及待办事项的管理。
扫码即可使用
https://github.com/kangdongpu/MiniTodo
TODO API 完全是 https 的,所以拿来做小程序非常方便。
开发 API 地址:
https://www.wanandroid.com/blog/show/2442
6. 可视化算法学习
算法一直是枯燥的,没想到还有这么个网站,可以可视化的运行和学习各种算法。
https://github.com/algorithm-visualizer/algorithm-visualizer
下图为Java 运行冒泡排序算法,运行过程中,图解整个过程,以及打印 log,需要注意的是,大多数算法都是 javascript 实现的,java 有一小部分,算法这个东西,跨语言也可以学习。
https://algorithm-visualizer.org/brute-force/bubble-sort
7. 小技巧
1)Android Studio 断点直接打 Log。
当我们发现一个 bug 的时候,只要有 debug 包,可直接 atatch debug,但是某些执行特别频繁的代码可能不太适合断点阻塞,需要添加日志。
常规去添加 Log,然后打包可能需要几分钟甚至更久,完了最后还得删除 debug log。
部分第三方jar,aar里面外面更是无法手动添加log代码了。
实际上,断点不仅有阻塞的功能,也能直接不阻塞打印 log。
在断点上,右键出现:
然后将 Suspend 去掉,即可出现高级面板:
在 Evaluate and log 的地方,可以填写当前断点上下文的各种对象执行方法等,这里打印了 i 。
最后要注意打印的 Log 在 Debug 的 Console 面板,不是我们的常用的Logcat 面板,如果没使用过,记得尝试!
我会尽可能每期添加一个小技巧,希望你在看文的同时,可以动手实践下,小技巧都很简单,但是都非常实用!
这个系列包含很多大厂的分享,虽然多数难度很高,但是,依旧希望大家能够逃离自己的舒适区,难懂的东西确实让人有抗拒感,但是这些内容才包含更多的和别人区分出差别的知识点。
不要再享受遇到一个问题,百度看下答案,背一下即可,或者喝一口鸡汤,停留在这种“好像学到了”的心态了。
如果觉得这个系列不错,可以右下角点个在看,了解下受欢迎程度。
下期见!
推荐阅读:
Android 9 官方极致优化 PrecomputedText
我在一个群分享Android 好像被我分享得没人说话了... 2期
扫一扫 关注我的公众号
如果你想要跟大家分享你的文章,欢迎投稿~
┏(^0^)┛明天见!