BT

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

Android开发周报:Android份额超越Windows、Apk瘦身探索

| 作者 郭亮 关注 18 他的粉丝 发布于 2017年4月17日. 估计阅读时间: 7 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

新闻

  1. 《安卓正式超越微软Windows,成为用户最常用操作系统》:今年3月初,互联网市场研究公司StatCounter发布了全球上网设备操作系统的统计数据。二月份,在全部上网设备中,安卓的市场份额为37.4%,微软Windows的份额为38.6%。当时安卓在数据上已经非常接近Windows。而现在,StatCounter最新的调研结果出炉,2017年3月,在在该机构跟踪的网站中,Android用户的访问量占37.93%,Windows用户的访问量占37.91%。两者之间的差距不大,但意义不同。

  2. 《安卓各版本最新份额:牛轧糖攀至5%,棒棒糖依旧榜首》:谷歌每个月都会发一份自家安卓系统各版本的份额占比报告,从这几个月的报告来看,Android Nougat在发布近六个月后仍然无法成为该操作系统的主流版本,甚至距离很远。而目前,安卓5.X(棒棒糖)仍然占据主流地位。

  3. 《Android Wear 2.0更新推送继续》:谷歌方面宣布因为在最终测试中发现了bug,导致外界期待已久的Android Wear 2.0系统更新推送不得不进行延期,但第一批推送的三款智能手表Fossil Q Founder、卡西欧Smart Outdoor Watch WSD-F10和泰格豪雅Connected将照计划继续推送更新。

教程

  1. 《Android 项目代码质量保证实践》:一个项目开发必然会涉及团队协作,而工程质量就需要团队去保证。一般我们期望的代码无潜在风险、无重复逻辑、风格无差异、可阅读性好、新人上手速度快等。为了达到上述目标,一般团队都会制定一套自己认可的编码规范,并且周期性进行code review。但这种人肉排查方式,很容易遗漏部分问题,保障性还是有些不足。为此,作者所在的团队从编码前期、编码中期和编码后期保证进行了初步尝试。

  2. 《Android APK瘦身探索》:虽然说APK瘦身对于Android对应用可分配内存的限制影响不大,但是还是有一些影响的,就以图片为例,将一些小图标替换为iconfont能有效减小内存的分配,防止OOM的出现。另外,无论是iOS开发者还是Android开发者都应该尝试最好学会如何为IPA或APK瘦身,不仅仅是为了帮助用户省流量、减少下载时间、减少占用的存储空间等等,更重要的是为了提高下载率。

  3. 《经典随机Crash之一:线程安全》:Android QQ在2016下半年连着好几个版本二灰Crash率都很高,如果说有新需求,一灰的 Crash率高,还能找点理由,可是开发童鞋解过一灰的Crash单后,为啥二灰还有这么高的Crash率,我们还有覆盖全SNG、不少外BG明星产品的终端稳定性测试工具NewMonkey随身版每天都在跑,更何况大多Top Crash都发生在用户使用很普通、很频繁的场景,实在令人匪夷所思。阅读文章,看看作者是如何解决该问题的。

  4. 《Android安全开发之启动私有组件漏洞浅谈》:Android应用中,如果某个组件对外导出,那么这个组件就是一个攻击面。很有可能就存在很多问题,因为攻击者可以以各种方式对该组件进行测试攻击。但是开发者不一定所有的安全问题都能考虑全面。本文给出了私有组件导出的具体建议。

  5. 《利用Android源码,轻松实现汉字转拼音功能》:实际开发过程中需要用到实现汉字转成拼音的场景比较常见,如:通讯录里的联系人字母导航栏,为没有设置头像的用户生成一个名字首字母的头像,国家(省份、城市)字母导航栏,搜索关键字转换成拼音等。本文分享了一个从Android系统源代码提取出来的汉字转成拼音实现方案,只要一个类,560多行代码就可以让你轻松实现汉字转成拼音的功能,且无需其他任何第三方依赖。

  6. 《Android性能优化-渲染优化》:我们在开发的过程中,可能经常会遇到测试的一些反馈,就是APP运行卡顿的问题。我们通常所讲的卡顿问题都是因为渲染掉帧的问题引起视觉上的卡顿感。所以了解渲染机制,我们在项目的开发过程中,可以有意识的少挖坑。同时要打造一款精品的应用,注意渲染优化也是非常重要的一件事情。本文给出了具体的渲染优化方案,推荐阅读。

  7. 《Android ConstraintLayout使用指南》:ConstraintLayout翻译成中文也称为约束布局,类似于iOS中的布局约束。升级到Android Studio 2.3之后,IDE默认生成的Activity布局都是以ConstraintLayout做为根布局,作者体验了一把这个Google去年就开始力推的ConstraintLayout后,觉得非常不错,本文主要是记录ConstraintLayout各个方面的使用知识。

  8. 《Uber的外卖团队是如何使用React Native的?》:Uber基于React Native技术构建的Restaurant Dashboard应用为送餐业务UberEATS提供支持,消除纯Web应用在功能方面的局限,为餐厅共和顾客打造更无缝的订餐体验。本文介绍了Uber团队是如何在实际项目中使用React Native的,如果你的项目正在考虑将React Native用于生产环境,那么可以参考Uber的经验。

开源项目

  1. cropiwa:这是一个支持多种参数配置的图片裁剪库。

  2. UltraViewPager:这是阿里开源的一个项目,该项目是一个封装多种特性的ViewPager,主要是为多页面切换场景提供统一解决方案。

  3. PatternLockView:效果很赞的一款手势解锁界面,可以很简单的集成到项目中。

  4. Grav:Grav是一个基于点状的可定制动画库。利用该库,我们可以充分发挥想象,可以制作动态背景、酷炫的加载进度等等。


感谢徐川对本文的审校。

给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