摘要
Android博客周刊 收录最近一周国内外热门技术博客以及优秀的类库。每周一准时更新。
作者: Jomeslu
转载请在开头注明作者详细信息和本文出处。
新闻
本月早些时候,谷歌推出Android牛轧糖开发者预览版第五版,这将是即将到来的最新版Android OS的最后一个开发者预览版。
国外博客
Automation tests are important as it ensures quality while developing application.TDD enforces writing tests before writing implementation.
Android Decompile-Deepdive is a series where we take a popular, successful, impressive application and decompile it, seeing what things we can learn in the process.
MVVM + RxJava is a great formula for an app architecture. At upday we recognised this and used it in our app, making it scalable and maintainable. Despite this, we’ve had to learn a few lessons the hard way.
I often see confusion around Android View constructors. Why are there four of them? What does each parameter do? Which constructors do I need to implement?
国内博客
本文讲述Android存储系统的架构与设计,涉及到最为核心的便是MountService和Vold这两个模块以及之间的交互。上一篇文章Android存储系统之源码篇从源码角度介绍相关模块的创建与启动过程,那么本文主要从全局角度把握和剖析Android的存储系统。
滑动是Android开发中非常重要的UI效果,几乎所有应用都包含了滑动效果,而本文将对滑动的使用以及原理进行介绍。
携程旅行作为一款用户使用地点遍布全球的应用,其网络优化是性能和用户体验优化的重中之重,之前我们分享过携程在网络和应用架构优化方面的探索:1、携程App的网络性能优化实践 2、携程移动App架构优化之旅。
应用的生存期绝大部分时间都用于处理内存中的数据,虽然我们大多数人都意识到在手机上要尽可能少使用内存,但并非所有人都认识到了内存使用对性能的影响。所以,下面我们来讨论一下。
由于原生 Android 开发应该已经是一个基础的 MVC 框架,所以在初始开发的时候并没有遇到太多框架上的问题,可是一旦项目规模到了一定的程度,就需要对整个项目的代码结构做一个总体上的规划,最终的目的是使代码可读,维护性好,方便测试。
Realm 是一个 MVCC 数据库 ,底层用 C++ 编写。MVCC 指的是多版本并发控制。MVCC 解决了一个重要的并发问题:在所有的数据库中都有这样的时候,当有人正在写数据库的时候有人又想读取数据库了(例如,不同的线程可以同时读取或者写入同一个数据库)。
在开发中,一个良好的开发习惯以及一个开发规范可能会让你少走很多弯路,也会一定程度上的提高代码的可读性,可维护性和可拓展性。当随着需求的不断变更,需要维护项目的时候。
简单介绍一下Instant Run,它是Android Studio2.0以后新增的一个运行机制,能够显著减少你第二次及以后的构建和部署时间。简单通俗的解释就是,当你在Android Studio中改了你的代码,Instant Run可以很快的让你看到你修改的效果。
Gradle 编译过程上图展示了一个典型的 App 编译过程,主要分为以几步:编译器将源代码(包括依赖库)转化为 DEX 文件,编译资源文件(res 以及 assets 文件下的资源)。APKPackager 整合所有的 DEX 文件和编译过的资源文件,并且对 APK 进行签名。
Go快餐,下面我们将Go与C/C++/Java的一些比较不同的地方提炼一下,让大家可以快速上手。然后在实践中继续学习。Go是支持GC的,好的方面是,不用自己管理内存了。不好的方面是,GC影响性能的话,要想办法优化啊。
采集Camera的数据,就是在每一帧的回调方法中拿到原始数据NV21和YV12格式,在做格式转化进行二次处理,美颜相机的原理也是如此,再者数据预览美颜相机使用的是GLSurfaceView,因为它本身集成了OpenGL功能,而且可以支持回显,而SurfaceView不可以!
ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流.
这篇文章是本人对在开发过程中踩坑经历的一次总结;分为系统API的坑、使用不当导致的坑、开源项目中的坑等几个方面,知识面有限,认知难免会有偏颇,如发现有问题还请指正。
Android开发中的图像压缩是一个很重要的部分。而这篇文章会让我们从另外一个角度来认识Android平台下的图像压缩和优化。这篇文章更适合和设计师一起来看,所以,如果你和你的设计师是好基友的话,不妨叫上他,倒两杯咖啡,花上几分钟…
类库
分层视差效果,适合用于任何的View
贝塞尔曲线窗帘效果
一个刮奖的效果,
应用自动静默更新安装库.
支持自动滚动和体面动画的Banner
机票座位选择,有缩略图。
快速集成二维码扫描功能
Android,multidex,splitdex,分包插件
一行代码来实现表情符号。
图片识别身份证号码。
高斯模糊,实时模糊
在webview预览代码和简单的代码块高亮显示。
一个ViewPager 滑动字体变大的效果
背景渐变
参考视频
介绍Awareness API使用
论未来的支持库发展。
博外话
提问是人类的天性,随着知识和阅历的增加人类往往丧失这种天性。