ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### 新闻 1. [Android输入法(Google Keyboard)迎来单手模式等新功能](http://www.cnbeta.com/articles/497791.htm) 2. [Google 发布 2015年度 Android 安全报告](http://chinagdg.org/2016/04/android-security-2015-annual-report/) ### 教程 1. [Android性能优化典范(五)](http://geek.csdn.net/news/detail/71031) 这是Android性能优化典范第5季的课程学习笔记,拖拖拉拉很久,记录分享给大家,请多多包涵、担待指正!文章共有10个段落,涉及的内容有:多线程并发的性能问题,介绍了AsyncTask、HandlerThread、IntentService与ThreadPool分别适合的使用场景以及各自的使用注意事项。这是一篇了解Android多线程编程不可多得的基础文章,清楚地了解这些Android系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。 2. [Android分包(MultiDex)后编译加速方案](http://www.jianshu.com/p/8014f1443d34) (by 彼时芒种) 应用了分包(MultiDex)之后Android Studio的编译时间达到了历史新高,随便更改一处代码,重新编译运行都需要1min~2min,严重的时候甚至达到3min。这简直就是在浪费程序员的生命啊!在笔者写下这篇文章的时候google已经推出了Android Studio 2.1.0 及gradle 2.1.0 稳定版。 3. [React Native如何做跨平台设计](http://t.cn/RqHRemI) React Native 的一大优势是:可以只用一种语法编写分别运行在 iOS 和 Android 平台上的程序,且可重用部分应用逻辑。然而,与“一次编写,到处运行”的理念不同的是,React Native 的哲学是“一次学习,到处编写”。如此一来,即使用 React Native 编写不同平台的程序,也可以尽可能贴合每个平台的特性。 4. [北京Android N开发者会议见闻](http://t.cn/RqHE7BU) 2016年4月15日,在Android新版本N发布的前夕,Google在北京组织了开发者大会,几位主讲人均来自美国的Google Android Team,会议除了介绍Android N的几个重大更新以外,另一个重要目的是倾听中国区开发者的声音,并对在Android N Preview版中大家遇到的问题进行答疑,他们回到美国之后会针对这些问题在Framework层做出相应改进。 5. [SearchView源码解析](https://github.com/nukc/SearchViewAnalysis) SearchView是一个搜索框控件,样式也挺好看的。这次解析主要围绕android.support.v7.widget包下的SearchView(API >= 7),android.widget.SearchView支持API >= 11, 另外有个android.support.v4.widget.SearchViewCompat。 6. [Android drawable微技巧,你所不知道的drawable的那些细节](http://blog.csdn.net/guolin_blog/article/details/50727753) 大家都知道,在Android项目当中,drawable文件夹都是用来放置图片资源的,不管是jpg、png、还是9.png,都可以放在这里。除此之外,还有像selector这样的xml文件也是可以放在drawable文件夹下面的。 7. [实战Kotlin@Android(三)](http://blog.chengdazhi.com/index.php/172) (by 程大治) 在前面的两篇文章中,我们探索了如何使用Kotlin来进行部分实用Android开发工作。如果你还没有看前面两篇,请进入传送门[第一部分](http://blog.chengdazhi.com/index.php/157)/[第二部分](http://blog.chengdazhi.com/index.php/162)。到现在,我们已经可以使用比XML更少的代码完成View的构建,更别说Java了。Kotlin的语法为声明式,View之间的嵌套也十分清晰,而且我们还可以给类很方便地添加实用方法。 8. [Gradle 构建最佳实践](http://t.cn/Rql6VAG) 随着谷歌对Eclipse的无情抛弃和对Android Studio的日趋完善,使用gradle构建Android项目已经成为开发者的一项必会良技。那么,问题来了,采用什么样的姿势才能让项目开发构建过程高潮迭起,精彩不断呢? 9. [蘑菇街支付金融Android单元测试实践](http://t.cn/RqWVd3i) 要说为什么要写单元测试的话,我相信大部分人都能承认、也能理解单元测试在保证代码质量,防止bug或尽早发现bug这方面的作用,这可能是大家觉得单元测试最大的作用。然而我觉得,除了这方面的作用,单元测试还能在很大程度上改善代码的设计,同时还能节约时间,让人工作起来更自信、更开心,以及其他的一些好处。这些都是我的切身感受,我相信也是多数真正实践过单元测试的人的切身感受,而不是为了宣传这个东西而说的好听的大话。 10. [构建 F8 App / React Native 开发指南](http://f8-app.liaohuqiu.net/) 每年,作为 F8 会议的一部分,Facebook 都会开发一款会议相关的 iOS 和 Android 的 app,让参会者可以通过 app 安排会议行程,了解更多关于演讲和演讲者的信息。这个 app 还提醒参会者即将开始的演讲,或者发送一些临时公告。今年,我们不仅在 GitHub 上开源了代码,我们还制作了一系列的教程。想用简单明了的语言介绍 React Native 及其开源生态。 11. [Android Scroll详解(三):Android 绘制过程详解](http://blog.csdn.net/u012422440/article/details/51213348) (by ztelur) 本篇为Android Scroll系列文章的最后一篇,主要讲解Android视图绘制机制,由于本系列文章内容都是视图滚动相关的,所以,本篇从视图内容滚动的视角来梳理视图绘制过程。 12. [ReactNative For Android】框架启动核心路径剖析](http://t.cn/RqHEbeJ) 前面给大家分析过 ReactNative For Android (RN4A) 的通信机制,这次我们从源码出发,分析下RN4A的启动过程。启动过程基于通信机制,涉及通信机制原理大家可以查看前一篇文章,本篇不赘述。上面是2016 React.js Conf FB 工程师分享的RN启动时序图,整个过程比较清晰,先启动终端运行时,随后由终端上下文去启动JS的运行时,进而布局,最后再由终端进行渲染,最后将View添加到RootView上。那接下来,我们先理解几个概念,方便后续我们对整个启动过程的理解。 13. [包建强:为什么我说Android插件化从入门到放弃?](http://t.cn/RqHELfr) 最近有个梗在程序员间流传甚广,那就是“从入门到放弃”系列,甚至IT界的小网红Easy还为它出了周边。在这次GMTC全球移动技术大会上,我们很荣幸的邀请到了《App研发录》的作者包建强前来分享,他给我们提交的议题就叫做《Android插件化:从入门到放弃》,而且还特别声明不要换。我们发布出来后,也有一些同学奇怪为什么起这个标题,内容是什么。 14. [关于 Android 进程保活,你所需要知道的一切](http://t.cn/RqHEwPq) 今天的话题比较敏感,关于 Android 进程如何保活。一方面非常之多的 Android 应用有这方面的需求并实际应用,另一方面很多应用在保活这条道上一路走到黑,罔顾对能耗与用户体验的影响,也是造成 Android 平台被用户诟病的原因之一,因此一开始收到这篇投稿,是否推送给大家也是有犹豫。 15. [反射、注解与依赖注入总结](http://www.jianshu.com/p/24820bf3df5c) (by 孙福生) 现在在我们构建自己或公司的项目中,或多或少都会依赖几个流行比较屌的第三方库,比如:Butter Knife、Retrofit、Dagger 2等,如果你没用过,那你需要找时间补一下啦;有时在使用后我们会好奇他们到底是怎么做到这种简洁、高效、松耦合等诸多优点的,当然这里我不探讨它们具体怎么实现的,而关心的是它们都用到同样的技术反射和注解,并实现的依赖注入。 ### 开源库&项目 1. [Agera](https://github.com/google/agera) Google 开源的一个可以帮助你在 Android 上写函数式、异步和响应式代码的库 2. [SwipeAwayDialog](https://github.com/kakajika/SwipeAwayDialog) 仿 Tinder 卡片左右滑动消失效果的 Dialog 3. [LicenseAdapter](https://github.com/yshrsmz/LicenseAdapter) 一个适用于 RecyclerView 的可以从 Gayhub 上获取 开源库 License 信息的 Adapter 4. [GifLoadingView](https://github.com/Rogero0o/GifLoadingView) Gif 图片 Loading View 5. [drawee-text-view](https://github.com/Bilibili/drawee-text-view) 一个支持图文混排的 TextView 6. [Depth-LIB-Android-](https://github.com/danielzeller/Depth-LIB-Android-) A library gives depth to Views. It also contains some examples of Canvas drawing techniques to create particle systems, waves and grain effect 7. [PLDroidPlayer](https://github.com/pili-engineering/PLDroidPlayer) 一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发 8. [KakaCache](https://github.com/LittleFriendsGroup/KakaCache) 一个专用于解决Android中网络请求及图片加载的缓存处理框架 9. [FloatingToolbar](https://github.com/rubensousa/FloatingToolbar) A toolbar that morphs from a FloatingActionButton 10. [MapView](https://github.com/onlylemi/MapView) 一个可以显示室内地图的自定义地图控件 11. [Android-Image-Cropper](https://github.com/ArthurHub/Android-Image-Cropper) 图片选择裁切库 12. [Gradle Plugin Android Aspectjx](https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx) 一个在Android中应用Aspectj的Gradle插件。支持切AAR, JAR, 支持现在Android上最火的Kotlin。 13. [android-about-page](https://github.com/medyo/android-about-page) 一个可以让你快速创建出很赞的关于界面的库 14. [WJMagicCurveView](https://github.com/wingjay/WJMagicCurveView) 有趣的曲线在Android上的实现 15. [AndroidSdkSourceAnalysis](https://github.com/LittleFriendsGroup/AndroidSdkSourceAnalysis) Android SDK 源码解析 16. [AnimateHorizontalProgressBar](https://github.com/MasayukiSuda/AnimateHorizontalProgressBar) A tiny Android library makes very easier ProgressBar anitmation horizontal. 17. [AndroidDevMetrics](https://github.com/frogermcs/AndroidDevMetrics) Android 性能度量库 18. [MaterialPagerIndicator](https://github.com/amlcurran/MaterialPagerIndicator) A material-style pager indicator for Android 19. [dampView-springingView](https://github.com/Huyamin150/-dampView-springingView) 带有阻尼效果(橡皮筋效果)跳动的Loading动画 20. [OwlView](https://github.com/binglingziyu/OwlView) 模仿readme.io登陆页面的动画效果 21. [StickyHeaderListView](https://github.com/sfsheng0322/StickyHeaderListView) 功能强大的StickyHeaderListView:标题渐变、吸附悬停、筛选分类、动态头部等 ### 工具 1. [Error Prone](https://github.com/google/error-prone) 一个 Java 代码静态分析工具 2. [Reactotron](https://github.com/skellock/reactotron) Control, monitor, and instrument your React and React Native apps from the comfort of your TTY. 3. [APK patch size estimator](https://github.com/googlesamples/apk-patch-size-estimator)  Estimates the size of a Google Play patch and the new gzipped APK. > 版权声明:欢迎自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0](http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh39)