Android开发技术周报 Issue#101

新闻

  1. [视频]Android版Google Assistant已流出:体验方法如下

  2. Android 7.1 Nougat正式版定于今年12月到来

教程

  1. 理解Android进程启动之全过程

    Android系统将进程做得很友好的封装,对于上层app开发者来说进程几乎是透明的. 了解Android的朋友,一定知道Android四大组件,但对于进程可能会相对较陌生. 一个进程里面可以跑多个app(通过share uid的方式), 一个app也可以跑在多个进程里(通过配置Android:process属性).再进一步进程是如何创建的, 可能很多人不知道fork的存在. 在我的文章理解Android进程创建流程 集中一点详细介绍了Process.start的过程是如何一步步创建进程.本文则是从另个角度来全局性讲解android进程启动全过程所涉及的根脉, 先来看看AMS.startProcessLocked方法.

  2. 重新认识AndroidStudio和Gradle,这些都是你应该知道的

    本文要从AndroidStudio的环境安装升级,Gradle,Eclipse转AS,多渠道配置,Maven私服,Action,Option,快捷键等几个方面出发,讲一些操作技巧以及我对AndroidStudio使用的一些理解与经验。本文较全面的讲述了我们在开发中必须要了解的,比较多而全,可能不能马上记住,目的在于大家看完之后能有一个认识,在需要使用的时候知道有这么个东西。希望对你的开发工作有所帮助,不足之处,请批评指正。

  3. 【译】Android泄漏模式:View中的订阅

    我们通过一些自定义的view来构建Square的注册模块。有时候这些view需要监听一个比他们自身声明周期还要长的对象。例如,一个HeaderView(译者注:类似于头像控件)可能需要监听用户名的改变,而这个用户名来自于一个Authentic单例。onFinishInflate()是一个用来填充自定义view,并试图找到其子view的绝佳时机。所以我们决定在这个地方处理绑定视图的逻辑,并订阅用户名的变化。

  4. QFix探索之路—手Q热补丁轻量级方案

    QFix 是手Q团队近期推出的一种新的 Android 热补丁方案,在不影响 app 运行时性能(无需插桩去 preverify)的前提下有效地规避了 dalvik 下”unexpected DEX”的异常,而且还是很轻量级的实现:只需调用一个很简单的方法就能办到。手Q从去年开始研究补丁方案,当时微信的 Tinker 还没有推出,考虑到兼容性和稳定性,就选用了 java 反射 hack classloader 的方案,而且和当时已经很成熟的分 dex 从原理上很类似,主要的难点是如何解决 Qzone 发现的 dalvik 下”unexpected DEX”异常,由于没有研究出其它方法,就沿用了 Qzone 原创的插桩去 preverify 的解决方案,自2016年1月热补丁开始在手Q正式版本投入使用,至今解决问题十多个,修复效果十分明显,稳定性也很好。

  5. 豆瓣的混合开发框架 -- Rexxar

    混合开发的直白解释是 Native 和 Web 技术都要用。但形式上,应用仍然和浏览器无关,用户还是需要在 App Store 和 Android Market 下载应用。只是在开发时,开发者以 Native 代码为主体,在合适的地方部分使用 Web 技术。比如在 iOS 中的 UIViewController 内放置一个 UIWebview(一个浏览器引擎,只拥有渲染 HTML,CSS 和执行 JavaScript 的核心功能)。这样,部分用户界面就可以在 UIWebView 中使用 Web 技术实现。

开源库&项目

  1. Sprayscape

    Google 开源的一个专为 VR 设计的相机 App

  2. DiagonalLayout

    With Diagonal Layout explore new styles and approaches on material design

  3. ImageTransition

    A small android library to transition between a circular ImageView from one Activity to a rectangular ImageView in the launched Activity.

  4. PageIndicatorView

    An page indicator for Android ViewPager

  5. MobileVisionBarcodeScanner

    Barcode Scanner supported by Mobile Vision Api

  6. FiftyShadesOf

    An elegant context-care loading placeholder for Android

  7. BubbleTab

    Put some bubble in your tabs and give your apps a supa fresh style !

  8. Debug Bottle

    Android Java / Kotlin 程序员开发调试工具。Debug Bottle的所有功能均建立在App的debug版本中,不会对release版本产生任何影响。Debug Bottle旨在提高开发效率,把控App质量。

  9. rexxar-android

    Rexxar 是一个针对移动端的混合开发框架。现在支持 Android 和 iOS 平台。Rexxar-android 是 Rexxar 在 Android 系统上的客户端实现。

  10. FingerprintAuthHelper

    A small library that allows You to easily manage fingererprint authentication inside your Activity or Fragment on devices with fingerprint scanner and Android M and higher. Min sdk 14

  11. BottomSheetPickers

    BottomSheetPickers is a set of new time pickers for Android that can be used in place of the stock time picker

技术之外

  1. 啥是Design Sprint设计冲刺?

  2. 吴军博士硅谷第一封来信:不做伪工作者

职位内推

  1. 美团点评诚招Android工程师

    北京望京/20~40K/15.5 薪/日均超过1.4场次的各种技术分享/各种面授培训/外部大牛技术分享/简历发送至:ouyanghaibing@meituan.com