Android开发技术周报 Issue#120

三月 13, 2017 0 条评论 AndroidDevWeekly

新闻

  1. Android三月版本分布图出炉:Nougat环比增加133%

  2. 谷歌正在为Android系统打造智能新功能

教程

  1. React Native for Android 异常处理概览

    准备接入React Native(RN)时,看看前辈们分享的经验,都说刚接入时崩溃率是一个问题。最近在做RN的Native部分优化,今天就来聊聊在RN中的异常都是什么,该怎么处理。首先,研究RN框架异常的动机在于,我们需要建立起一套针对性的容错机制,毕竟它还是一个不够成熟的框架。期望能够做到的效果就是,对于每一个RN页面的启动,我们能够在进入页面至退出页面期间侦测所有发生的RN相关的崩溃,然后根据崩溃来考虑该页面是否该有降级策略、判断框架是否真的能够支持稳定迭代。

  2. Android系统进程之父-init进程分析

    Android是Linux子集,它的启动流程和Linux区别不大,将系统内核装载完成后会创建一个init进程(初始进程)完成后续初始化工作,再启动其他用于提供系统服务的进程,启动完这些进程后init进程将变成守护进程保证这些系统服务进程的正常运行。而init.rc就是用Android初始化语言写的一个在init进程进行初始化时解析的一个脚本。

  3. 手机QQ Hybrid 的架构演进

    现在主流的hybrid还是H5 + native,H5开发对现在移动终端的重要性不必多提,但H5在native中很明显的问题大家都看得到,比如打开应用的时候要等很久的页面loading,loading时用户看到转菊花的界面很可能就流失掉,这也是产品经理不想看到的状况。还有一点是每次打开H5都涉及到网络交互、文件下载,这些操作会消耗用户的流量,如果流量消耗大用户也会不高兴。

  4. Android Studio 2.3正式版发布,官方全解析

    Android Studio 2.3 现已提供下载。此版本的重点是整个 IDE 的质量改进。我们感谢大家迄今为止提供的所有反馈。我们致力于持续投入,让 Android Studio 成为全球数以百万计 Android 应用开发者高效而又无缝式的开发平台。

  5. Android自定义Lint实践2——改进原生Detector

    上篇博客《Android自定义Lint实践》中我们介绍了美团App如何使用自定义Lint进行代码检查。在使用Lint的过程中,我们陆续又发现原生Lint的一些问题和缺陷,本文将介绍我们在实践中提出的解决方案。上一篇博客中我们提到了对于HashMap检测的改进,但当时我们也在文章中提到:1.代码很简单,总体就是获取变量定义的地方,将泛型值传入原先的检测逻辑。2.当然这里的增强也是有局限的,比如这个变量是成员变量,向前的推断就会有问题,这点我们还在持续的优化中。

  6. 那些年,我们一起写的单例模式

    单例模式(Singleton Pattern)一般被认为是最简单、最易理解的设计模式,也因为它的简洁易懂,是项目中最常用、最易被识别出来的模式。既然即使是一个初级的程序员,也会使用单例模式了,为什么我们还要在这里特意地讨论它,并且作为第一个模式来分析呢?事实上在我看来,单例模式是很有“深度”的一个模式,要用好、用对它并不是一件简单的事。

  7. 管中窥豹:结合NewApi实践来了解Lint代码扫描

    在Android SDK Tools 16及更高的版本中,Lint工具会自动安装。通过对Android工程源代码等进行扫描检查,可发现潜在的问题,更好的提升代码质量。Android Lint提供了命令行方式执行,也与IDE(如Eclipse、Android Studio)集成提供了IDE图形界面,单独输出的xml和html结果报告可以提供更丰富的信息。

  8. Android与Android Things,父子还是兄弟?

    Android Things 主要在 Android 的核心框架中扩展了一些支持物联的 API。开发者可以利用这些 API 直接与自定义的硬件打交道,Android Things 同时也简化了单个程序的应用,开机可以自动运行用户程序。Android Things 不包括标准的 system app 和 content provider。也会在下面的 content provider API 中避免使用 common intent。

  9. vysor原理以及Android同屏方案

    vysor是一个免root实现电脑控制手机的chrome插件,目前也有几款类似的通过电脑控制手机的软件,不过都需要root权限,并且流畅度并不高。vysor没有多余的功能,流畅度也很高,刚接触到这款插件时我惊讶于它的流畅度以及免root,就一直对它的实现原理很感兴趣。这款插件我用了大半年,最近在升级后我发现它居然开始收费了,终生版需要39.99美元,不过经过简单的分析后我很轻松的破解了它的pro版,在分析的过程中发现它的原理并不复杂,所以就打算自己也实现一个类似的软件。

开源库 & App

  1. DiscreteScrollView

    Scrollable list of items, where current item is centered and can be changed using swipes

  2. CookieBar

    CookieBar is a lightweight library for showing a brief message at the top or bottom of the screen.

  3. ColorPickerView

    This is ColorPickerView by skydoves

  4. SimpleNumberPicker

    A customisable decimal and hexadecimal material picker view for Android.

  5. DateTimeTemplate

    Android date/time formatting library supporting formatting placeholders

  6. Phonograph

    A material designed music player for Android

  7. BlockCanaryEx

    比起BlockCanary,BlockCanaryEx可以知道项目中所有方法的执行时间和次数。在app发生卡顿时,可以将耗时的方法直接展示给开发者。

  8. Material-Onboarding

    A short and simple library which allows easy replication of several* app onboarding techniques.

  9. SimpleRatingBar

    SimpleRatingBar allows us to create a RatingBar with margin between items

工具

  1. LottieFiles

    一个 AE 动画的 json 文件网站,可以配合 Airbnb 的 Lottie 动画

设计

  1. 设计一个完美的搜索框,你需要注意这9个要素

技术之外

  1. 复旦大学美女教授的朋友论:真正的朋友是无用的

  2. 我所讨厌的那些开发者

  3. 傅盛认知三部曲之一:所谓成长就是认知升级

播客

  1. 太医来了

版权声明

欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 4.0

脉脉不得语
ZhengZhou Website