Android开发技术周报 Issue#120

Chance19E 8年前
   <h3>新闻</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959741383165211820" rel="nofollow,noindex">Android三月版本分布图出炉:Nougat环比增加133%</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959741383247035644" rel="nofollow,noindex">谷歌正在为Android系统打造智能新功能</a></p> </li>    </ol>    <h3>教程</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959741383334387770" rel="nofollow,noindex">React Native for Android 异常处理概览</a></p> <p>准备接入React Native(RN)时,看看前辈们分享的经验,都说刚接入时崩溃率是一个问题。最近在做RN的Native部分优化,今天就来聊聊在RN中的异常都是什么,该怎么处理。首先,研究RN框架异常的动机在于,我们需要建立起一套针对性的容错机制,毕竟它还是一个不够成熟的框架。期望能够做到的效果就是,对于每一个RN页面的启动,我们能够在进入页面至退出页面期间侦测所有发生的RN相关的崩溃,然后根据崩溃来考虑该页面是否该有降级策略、判断框架是否真的能够支持稳定迭代。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741383405498995" rel="nofollow,noindex">Android系统进程之父-init进程分析</a></p> <p>Android是Linux子集,它的启动流程和Linux区别不大,将系统内核装载完成后会创建一个init进程(初始进程)完成后续初始化工作,再启动其他用于提供系统服务的进程,启动完这些进程后init进程将变成守护进程保证这些系统服务进程的正常运行。而init.rc就是用Android初始化语言写的一个在init进程进行初始化时解析的一个脚本。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741383492004039" rel="nofollow,noindex">手机QQ Hybrid 的架构演进</a></p> <p>现在主流的hybrid还是H5 + native,H5开发对现在移动终端的重要性不必多提,但H5在native中很明显的问题大家都看得到,比如打开应用的时候要等很久的页面loading,loading时用户看到转菊花的界面很可能就流失掉,这也是产品经理不想看到的状况。还有一点是每次打开H5都涉及到网络交互、文件下载,这些操作会消耗用户的流量,如果流量消耗大用户也会不高兴。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741383572783356" rel="nofollow,noindex">Android Studio 2.3正式版发布,官方全解析</a></p> <p>Android Studio 2.3 现已提供下载。此版本的重点是整个 IDE 的质量改进。我们感谢大家迄今为止提供的所有反馈。我们致力于持续投入,让 Android Studio 成为全球数以百万计 Android 应用开发者高效而又无缝式的开发平台。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741383652713734" rel="nofollow,noindex">Android自定义Lint实践2——改进原生Detector</a></p> <p>上篇博客《 <a href="/misc/goto?guid=4959741383734247619" rel="nofollow,noindex">Android自定义Lint实践</a> 》中我们介绍了美团App如何使用自定义Lint进行代码检查。在使用Lint的过程中,我们陆续又发现原生Lint的一些问题和缺陷,本文将介绍我们在实践中提出的解决方案。上一篇博客中我们提到了对于HashMap检测的改进,但当时我们也在文章中提到:1.代码很简单,总体就是获取变量定义的地方,将泛型值传入原先的检测逻辑。2.当然这里的增强也是有局限的,比如这个变量是成员变量,向前的推断就会有问题,这点我们还在持续的优化中。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741383819564539" rel="nofollow,noindex">那些年,我们一起写的单例模式</a></p> <p>单例模式(Singleton Pattern)一般被认为是最简单、最易理解的设计模式,也因为它的简洁易懂,是项目中最常用、最易被识别出来的模式。既然即使是一个初级的程序员,也会使用单例模式了,为什么我们还要在这里特意地讨论它,并且作为第一个模式来分析呢?事实上在我看来,单例模式是很有“深度”的一个模式,要用好、用对它并不是一件简单的事。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741383903816374" rel="nofollow,noindex">管中窥豹:结合NewApi实践来了解Lint代码扫描</a></p> <p>在Android SDK Tools 16及更高的版本中,Lint工具会自动安装。通过对Android工程源代码等进行扫描检查,可发现潜在的问题,更好的提升代码质量。Android Lint提供了命令行方式执行,也与IDE(如Eclipse、Android Studio)集成提供了IDE图形界面,单独输出的xml和html结果报告可以提供更丰富的信息。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741383974764635" rel="nofollow,noindex">Android与Android Things,父子还是兄弟?</a></p> <p>Android Things 主要在 Android 的核心框架中扩展了一些支持物联的 API。开发者可以利用这些 API 直接与自定义的硬件打交道,Android Things 同时也简化了单个程序的应用,开机可以自动运行用户程序。Android Things 不包括标准的 system app 和 content provider。也会在下面的 content provider API 中避免使用 common intent。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384058094539" rel="nofollow,noindex">vysor原理以及Android同屏方案</a></p> <p>vysor是一个免root实现电脑控制手机的chrome插件,目前也有几款类似的通过电脑控制手机的软件,不过都需要root权限,并且流畅度并不高。vysor没有多余的功能,流畅度也很高,刚接触到这款插件时我惊讶于它的流畅度以及免root,就一直对它的实现原理很感兴趣。这款插件我用了大半年,最近在升级后我发现它居然开始收费了,终生版需要39.99美元,不过经过简单的分析后我很轻松的破解了它的pro版,在分析的过程中发现它的原理并不复杂,所以就打算自己也实现一个类似的软件。</p> </li>    </ol>    <h3>开源库 & App</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959741322016148290" rel="nofollow,noindex">DiscreteScrollView</a></p> <p>Scrollable list of items, where current item is centered and can be changed using swipes</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384169544265" rel="nofollow,noindex">CookieBar</a></p> <p>CookieBar is a lightweight library for showing a brief message at the top or bottom of the screen.</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384244998956" rel="nofollow,noindex">ColorPickerView</a></p> <p>This is ColorPickerView by skydoves</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384347118895" rel="nofollow,noindex">SimpleNumberPicker</a></p> <p>A customisable decimal and hexadecimal material picker view for Android.</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384421239211" rel="nofollow,noindex">DateTimeTemplate</a></p> <p>Android date/time formatting library supporting formatting placeholders</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384507970571" rel="nofollow,noindex">Phonograph</a></p> <p>A material designed music player for Android</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384582964003" rel="nofollow,noindex">BlockCanaryEx</a></p> <p>比起BlockCanary,BlockCanaryEx可以知道项目中所有方法的执行时间和次数。在app发生卡顿时,可以将耗时的方法直接展示给开发者。</p> </li>     <li> <p><a href="/misc/goto?guid=4959741384668219989" rel="nofollow,noindex">Material-Onboarding</a></p> <p>A short and simple library which allows easy replication of several* app onboarding techniques.</p> </li>     <li> <p><a href="/misc/goto?guid=4959741322101681293" rel="nofollow,noindex">SimpleRatingBar</a></p> <p>SimpleRatingBar allows us to create a RatingBar with margin between items</p> </li>    </ol>    <h3>工具</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959741384777143190" rel="nofollow,noindex">LottieFiles</a></p> <p>一个 AE 动画的 json 文件网站,可以配合 Airbnb 的 Lottie 动画</p> </li>    </ol>    <h3>酷工作</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959740672961894019" rel="nofollow,noindex">北京明日虫洞科技有限公司诚招Android工程师</a></p> <p>十号线海淀黄庄(中关村大厦)/20k ~ 30k/五险一金/补充医疗/年底双薪/免费午餐和晚餐/简历发送至: <a href="/misc/goto?guid=4959741384880809115" rel="nofollow,noindex">simplecoder.h@gmail.com</a> (记得注明在『Android 开发技术周报』看到的)</p> </li>     <li> <p><a href="http://weibo.com/ttarticle/p/show?id=2309404030072645391967&retcode=6102" rel="nofollow,noindex">美团点评诚招Android工程师</a></p> <p>北京望京/20~40K/15.5 薪/日均超过1.4场次的各种技术分享/各种面授培训/外部大牛技术分享/简历发送至:ouyanghaibing@meituan.com (记得注明在『Android 开发技术周报』看到的)</p> </li>    </ol>    <h3>设计</h3>    <ol>     <li><a href="/misc/goto?guid=4959741384995710443" rel="nofollow,noindex">设计一个完美的搜索框,你需要注意这9个要素</a></li>    </ol>    <h3>技术之外</h3>    <ol>     <li> <p><a href="/misc/goto?guid=4959741385067302070" rel="nofollow,noindex">复旦大学美女教授的朋友论:真正的朋友是无用的</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959741385149220917" rel="nofollow,noindex">我所讨厌的那些开发者</a></p> </li>     <li> <p><a href="/misc/goto?guid=4959741385228682921" rel="nofollow,noindex">傅盛认知三部曲之一:所谓成长就是认知升级</a></p> </li>    </ol>    <h3>播客</h3>    <ol>     <li><a href="/misc/goto?guid=4959741385310707073" rel="nofollow,noindex">太医来了</a></li>    </ol>    <h3> </h3>    <p>来自:http://www.androidweekly.cn/android-dev-weekly-issue-120/</p>    <p> </p>