BT

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

Android开发周报:打包提速实践、存储系统解析

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

新闻

  1. 《Android 7.0新功能:李鬼应用无处躲》:谷歌在近日正式放出了Android 7.0最终预览版。在该版本中,谷歌对应用程序的来源进行了更清晰的标注。在新的“App Info”页面中,谷歌为“App Details”下方添加了一行标注,在这里用户可以看到,该应用的来源究竟是Google Play商店还是第三方。此外,该功能还能识别出该应用是否是通过拷贝的APK安装而来。

  2. 《Android 7.0对受信任的证书颁发机构做出变更》:在Android Nougat(7.0)中,谷歌更改了Android处理受信任证书颁发机构(CA)的方式,从而提供了更安全的系统默认设置,保障了应用流量安全。大多数应用和用户不受这些变更的影响,也不需要采取任何行动。

  3. 《第三方Android操作系统研发公司的Cyanogen宣布大面积裁员》:近日,曾经在接受《福布斯》采访中放出豪言:“要给谷歌脑袋来一发子弹”已经发展为全球最大的第三方Android操作系统研发公司的Cyanogen宣布在全球范围内开始大面积裁员,而本次裁员势必对这家初创企业造成非常严重的影响,甚至公司的业务方向也从系统转移至应用开发。

教程

  1. 《Google I/O 2016笔记之Espresso 进阶》:Espresso是Google官方提供的一个易于测试Android UI的开源框架,于2013年10月推出它的released版本,目前最新版本已更新到2.x . 并且在Android Studio 2.2预览版中已经默认集成该测试库。本文详细介绍了Espresso的使用方法。

  2. 《PathMeasure之迷径追踪》:Path不论是在自定义View还是动画,都占有举足轻重的地位。绘制Path,可以通过Android提供的API,或者是贝塞尔曲线、数学函数、图形组合等等方式,而要获取Path上每一个构成点的坐标,一般需要知道Path的函数方法,但对于一般的Path来说,是很难通过简单的函数方法来进行计算的。Android SDK提供了一个非常有用的API来帮助开发者实现这样一个Path路径点的坐标追踪,这个类就是PathMeasure。本文为我们详解了PathMeasure的相关知识。

  3. 《自动抢红包,自动安装原理之AccessibilityService》:AccessibilityService是Android系统提供的辅助功能,目的是辅助人们去使用Android设备和应用。它在后台运行,可以接收系统的回调。但聪明的开发者将AccessibilityService应用到了多个场景中,比如自动化测试、自动抢红包、自动安装等等。文章结合实例,详细解读了AccessibilityService的使用方法。

  4. 《Android Activity 生命周期是如何实现的》:本文是作者关于Android系统学习系列文章中的第三章节的内容,在这篇文章里,作者详细说明了Activity生命周期的实现原理,onCreate、onResume、onPause等主要生命周期回调是如何实现的,ActivityManangerService在里面扮演的角色。

  5. 《带你学开源项目:OkHttp——自己动手实现okhttp》:在Android、Java开发领域中,相信大家都听过或者在使用Square家大名鼎鼎的网络请求库——OkHttp,当前多数著名的开源项目如Fresco、Glide、Picasso、Retrofit都在使用OkHttp。在分析okhttp源码之前,你是否想过,如果我们自己来设计一个网络请求库,这个库应该长什么样子?大致是什么结构呢?本文的目的就是和大家一起来构建一个网络请求库,并在其中融入okhttp中核心的设计思想,希望借此让读者感受并学习到okhttp中的精华之处,而非仅限于了解其实现。

  6. 《Android存储系统之源码篇》:本文主要介绍跟存储相关的模块MountService和Vold的整体流程与架构设计。MountService:Android Binder服务,运行在system_server进程,用于跟Vold进行消息通信,比如MountService向Vold发送挂载SD卡的命令,或者接收到来自Vold的外设热插拔事件。Vold:全称为Volume Daemon,用于管理外部存储设备的Native守护进程,这是一个非常重要的守护进程,由NetlinkManager,VolumeManager,CommandListener这3部分组成。阅读文章,了解详细信息。

  7. 《Android打包提速实践》:Apk打包是Android开发者们几乎每天都会做的事情。由于业务不断发展,Apk也变的越来越大,打包时间也变的越来越长。本文作者结合实践经验,提出了debug包和release包的打包提速的方案。阅读文章,看看作者是如何实现打包提速的。

  8. Android端应用秒开优化体验:作者近日遇到一个问题:应用启动很慢、卡图标。主要表现在中低端机型中。为了解决这个问题,文章作者借了个低端机和一个中端机来一看究竟,对同一应用分别测了下它在中低端机的启动时间,找到了启动慢、卡的原因所在,并且给出了解决方案。阅读文章,了解作者的启动速度优化方案。

开源项目

  1. ticker:ticker是一个带有滚动动画的TextView,非常适合于一些货币显示的场景。
  2. LogReport:这是一个崩溃日志上传框架。当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,只需要几行代码,就能完成所有配置。另外,崩溃信息支持邮件上传和HTTP上传,自动提交到issue使用的是邮件上传的方式。如果你拥有私人服务器,你也可以使用HTTP上传。
  3. StatusBarCompat:这是一个为了兼容处理状态栏的工具类,不需要设置不同的style.xml文件,最重要的特性就是可以在不重启Activity的情况下切换setStatusBarColor和translucentStatusBar。
  4. 「Githug」Git 游戏通关流程:这个命令行工具被设计来练习你的Git技能,它把平常可能遇到的一些场景都实例化,变成一个一个的关卡,一共有55个关卡,所以将他形象的形容为Git游戏。项目地址在这里

感谢徐川对本文的审校。

给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