BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Android开发周报:Android 7.1开放下载、Tinker源码研读

| 作者 郭亮 关注 18 他的粉丝 发布于 2016年10月26日. 估计阅读时间: 8 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

新闻

  1. 《Android7.1开放下载》:想要获得和Pixel/Pixel XL中相同的系统版本吗?Google宣布Android 7.1开发者预览版于近日正式开放下载,尽管并非是完全版本更新但依然带来了一些新功能,包括对Daydream VR平台和GIF键盘的支持,开放制作圆形图标的相关资源和应用快捷方式(通过长按获得类似于3D Touch的使用体验)。

  2. 《锤子发布会回顾:讯飞输入法走红》:10月18日晚,科技圈“相声大会暨锤子科技2016新品发布会”在上海召开,这一次,老罗带来了全新的SmartisanM系列手机和Smartisan OS操作系统。当晚,能容纳18000人的上海梅赛德斯奔驰文化中心座无虚席,发布会内场票被黄牛炒到1000元,看台票也按照位置不同从400-700元不等,也有贩卖情怀的黄牛让观众竞拍门票。本场发布会是有史以来人数最多的一次,仅门票收入就超过两百万元。

  3. 《Android Pay流动支付服务正式在香港开通 六间银行率先推出》:谷歌移动支付服务Android Pay上周四在香港正式开通,首批六间银行率先推出有关服务。六间银行分别是东亚、大新、星展银行、恒生、汇丰以及渣打,并适用于万事达卡以及VISA信用卡,目前可于39间零售商店使用。

教程

  1. 《Android ListView与RecyclerView对比浅析--缓存机制》:RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大和灵活。作者最近遇到了是否要将ListView替换为RecyclerView的问题。秉承着实事求是的作风,弄清楚RecyclerView是否有足够的吸引力替换掉ListView,作者从性能这一角度出发,研究RecyclerView和ListView二者的缓存机制,并得到了一些较有益的结论。

  2. 《Atlas:手淘Native容器化框架和思考》:在刚刚过去的云栖大会上,手淘宣布其移动容器化框架Atlas将于2017年年初开源,对这个框架,在过去团队对外部做过一些分享,外界也一直对其十分关注,到现在它终于即将开源了。本文介绍了Atlas的设计思路和手淘对容器化、组件化和动态化上的思考,主要内容来自阿里巴巴资深技术专家倪生华(玄黎)在2016杭州云栖大会上的分享。

  3. 《tinker源码研读(一):补丁生成之DexDiff原理简析》:微信的热修复框架Tinker已经在国庆节之前开源了,成为了github.com/Tecent下第一个项目,刷爆了各位开发者的朋友圈。作为一个超级APP的HotFix库,Tinker不仅值得我们compile,更值得我们read。Tinker和以往的HotFix库思路不太一样,它更像是APP的增量更新,在服务器端通过差异性算法,计算出新旧dex之间的差异包,推送到客户端,进行合成。传统的差异性算法有BsDiff,而Tinker的优秀之处就在于它自己基于Dex的文件格式,研发出了DexDiff算法。

  4. 《Android进程绝杀技--forceStop》:话说Android开源系统拥有着App不计其数,百家争鸣,都想在这“大争之世”寻得系统存活的一席之地。然则系统资源有限,如若都割据为王,再强劲的CPU也会忙不过来,再庞大的内存终会消耗殆尽,再大容量的电池续航终会昙花一现。面对芸芸众生,无尽变数,系统以不变应万变,一招绝杀神技forceStop腾空出世,需要具有FORCE_STOP_PACKAGES权限,当然这个并非第3方app可以直接调用的, 否则App间可以相互停止对方。

  5. 《有赞Android客户端网络架构演进》:Android客户端网络请求是每一个应用都不可或缺的模块,其设计的好坏直接影响应用的性能和代码稳定性、扩展性。Android网络请求最开始官方只提供了最基础的方法,开发者必须在此基础上进行二次封装,这样就要求开发者对Http请求协议、缓存、JSON转换、错误处理以及线程切换等都比较熟悉,稳定性、可扩展性和可维护性都是比较大的挑战。本文详细介绍了有赞客户端的网络架构。

  6. 《在2016年学Android是一种什么样的体验?》:转眼间2016年的电量已不足20%,不禁感慨How Time Flies!不知不觉Android移动开发已经走过了八年的光阴,在这八年的时间中,Android开发从最初的简单调用系统API,到各类框架的不断涌现,再到如今的成熟阶段,那么作为一个想在2016年开始学习Android或者重新开始学习Android的开发者来说,你将看到一幅什么样的光景呢?本文给出了答案。

  7. 《写给Android开发者的混淆使用手册》:毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有app都应该开启混淆。本文由两部分构成,第一部分给出混淆的最佳实践,力求让零基础的新手都可以直接使用混淆;第二部分会介绍一下混淆的整体、自定义混淆规则的语法与实践、自定义资源保持的规则等。

  8. 《AndroidLintWatchDog Custom-Lint 自定义Lint检查的实现》:Android自定义Lint检查能有效提升代码质量、避免人工的低级失误,同时也能规范代码。自定义Lint检查属于程序自动化的内容,这部分内容涉及的资料较少,但是实际意义重大,尤其是对有规模的团队而言。

  9. 《Android是如何管理App内存的--Android内存优化第二弹》:我们知道,Android中每个App默认情况下是运行在一个独立进程中的,而这个独立进程正是从Zygote孵化出来的VM进程。也就是说,每个App是运行在独立的VM空间的。那么Android是怎么管理这些App的内存的呢,这些独立运行的VM中的内存管理又是怎样的呢?本文给出了详细的说明。

开源项目

  1. GitClub:这是一个Github客户端,也是一个发现优秀Github开源项目的app。

  2. AndroidHttpCapture:这是一款针对于移动流量劫持而开发的手机抓包软件。主要功能包括:手机端抓包、PING/DNS/TraceRoute诊断、抓包HAR数据上传分享,使用前请确保手机HTTP代理的关闭。

  3. BigBang:该项目模仿了Smartisan OS的 BigBang功能。


感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT