查看原文
其他

Android 这些内容你应该知道 | 3 期

鸿洋 鸿洋 2019-05-22

早该有这个系列了,主要更新近期一些觉得大家应该了解的信息。


需要注意的是:


本系列不会八卦一些时间系数比较紧密的事情,即使这些内容更加有热度。


本系列注重内容的价值属性,希望任何时间看任何一期都有价值。


上一期入口:


Android 你可能错过的信息 |  2 期


1. 闲读


Android 1.5 -10.0 都有哪些新特性?


2. 大厂对外分享


1)Google 官方对外分享


Flutter 您需要知道的知识点 | FAQ・第三期


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/


历史分享:


百度APP技术: Android H5首屏优化实践

搜狐:深入理解Flutter多线程

携程:从智行 Android 项目看组件化架构实践


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 Q (10) 适配指南  让你少走一堆弯路

我在一个群分享Android  好像被我分享得没人说话了... 2期


扫一扫 关注我的公众号

如果你想要跟大家分享你的文章,欢迎投稿~


┏(^0^)┛明天见!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存