Android开发技术周报 Issue#77
新闻
教程
-
FB App 优化工具 ReDex 优化的 6 点及未优化的 1 点
ReDex 是 Facebook 开源的工具,通过对字节码进行优化,以减小 Android Apk 大小,同时提高 App 启动速度。去年十月 Facebook 就写过一篇文章《Optimizing Android bytecode with ReDex》对其进行介绍,终于在上周 ReDex 开源了。
-
Android视图架构详解(By ztelur)
总所周知,Activity并不负责视图控制,它只是控制生命周期和处理事件,真正控制视图的是Window。一个Activity包含了一个Window,Window才是真正代表一个窗口,也就是说Activity可以没有Window,那就相当于是Service了。在ActivityThread中也有控制Service的相关函数或许正好印证了这一点。 Activity和Window的第一次邂逅是在ActivityThread调用Activity的attach()函数时。
-
首先需要介绍一下什么是单元测试。很多人像我一样,本科并不是计算机专业出身的,如果在职的公司不要求做单元测试的话,可能对这个词并没有一个确切的概念。而即使是计算机专业出身,如果毕业以后写的不多的话,可能对这个词的含义也不是很清楚。从名字上看,单元测试是为了测试某一个代码单元而写的测试代码。
-
MVC 没有列入23种经典的设计模式之中,why?MVC被视为一种复合模式,包含以下:1.观察者模式——M变化,通知观察者(V)改变; 2.策略模式——对于M,C以不同的策略进行处理;3.组合模式——V通常是由多层子View的组合。MVC被视为一种框架模式,从复用角度来说:1.MVC是宏观层面设计分工的复用;2.设计模式是具体问题解决思路的复用。MVP、MVVM被视为MVC框架模式的改进版本,这三者放在一起,我们戏称为MV“X”。
-
App架构在Android开发者中一直是讨论比较多的一个话题,目前讨论较多的有MVP、MVVM、Clean这三种。google官方对于架构的态度一直是非常开放的,让开发者自主选择组织和架构app的方式,期望能留给开发者更多的灵活性。
-
Android持续集成以及测试覆盖率可视化
Travis-CI是一款持续集成工具,对开源项目免费。免除了Jenkins搭建服务器的工作。用户只要完成以下简单的几步就能接入Travis:1.通过Github账号登录https://travis-ci.org/。2.在项目根目录加.travis.yml 文件。3.git add -> commit -> push.之后再每次push之后Travis-CI就会根据.travis.yml对项目进行build。然后就可以在Travis网站控制台上查看build的情况。在build完成之后Travis也会通过邮件的方式通知你。 -
虽然,ReactNative调用的是原生的UI,但是经过了React的一层使用机制的封装处理,我们常常会在开发过程中发现界面交互卡顿,刷新效率不高,原生UI的API没有对外开放等问题,其实,很多时候是我们没有深入的去理解ReactNative的机制,人为的降低了产品的交互体验。那么,下面我们就开始我们的优化进阶之旅吧!
-
Reactive 编程和 RxJava 是最近常常引起强烈争论的话题,争论过程中问题很多,不确定性也很多。本次演讲我们会讨论,在 Airbnb 的客户端里,我们是如何采纳这些范式和技术,包括动力,实现的困难,和这一路走来的经验教训。我们还会看些产品的代码,比较 imperative 编程和 reactive 编程的优劣,然后分别讨论它们的优势和缺陷。
-
React Native的出现,为APP开发者们带来了冲动和激情,令Native开发者和Web开发者都为之痴迷。瞬间各类技术论坛、技术社区甚至出版社都争先报道其相关内容。然而对于一般的初学者来说,最简单要求莫过于按照官方提供的向导来完成基于React Native的处女之作。
-
『携程旅行App』作为携程超级App产品,是公司全品类旅行产品的核心售卖入口,过去两年为了更好支撑无线业务的快速发展,携程移动App在产品和技术架构方面也做了大量的优化。产品方面,携程App从原先的iPhone、iPad、Android Phone、Android Pad和Windows Phone共五个版本精简为Universial iOS和Universial Android两个版本,以便于集中研发和市场资源发布新产品。
开源库&项目
-
android-open-source-project-cracking
Android 优质开源项目剖析与技术进阶
-
几个 Loading 动画效果
-
点击 FAB 会弹出菜单,并有动画效果的库
-
Rich url link view for Android
-
遵循 Materila Design 的 CalendarView 兼容实现
-
FoldingCell is an expanding content cell inspired by folding paper materia
-
自定义走势图图表 View
-
AutoValue Extension for Android
-
一个灵感来自 React.js, 可以让你在 Kotlin 项目种快速创建 UI 的框架