写点什么

Android 开发周报:Android 6.0 占比 0.3%、Apk 编译详解

  • 2015-11-17
  • 本文字数:2532 字

    阅读完需:约 8 分钟

新闻

  1. 《Android Wear 手表将解锁隐藏扬声器和支持中文》:近日,Android Wear 配套应用迎来了 v1.4 版本更新。外媒分析安装包内部代码后发现,里面暗藏了下一次 Android Wear 系统升级的更新项目介绍,其中就包括“利用扬声器播放声音和接听电话”。这也就验证了此前国外网友曾通过拆解一些新款的 Android Wear 智能手表发现,表内配置了扬声器模块这一事实。
  2. 《最新安卓系统份额数据 Android6.0 只有区区 0.3%》:Google 公布了每月一度的安卓各版本份额数据图,从统计中可以看到,安卓 6.0 的市场份额首次出现在了官方统计数据中,但只有 0.3%。根据 Google 的数据统计,安卓 4.4 KitKat 仍是市占率最高的安卓系统,份额达到了 37.8%,不过和上个月对比,出现了 1.1% 的下滑,安卓 4.4 同时也是份额下滑最快的安卓版本。份额增长最快的是安卓 5.1,对比上个月增长了 2.2%,份额达到了 10.1%。除了从 0% 增长到 0.3% 的安卓 6.0 外,安卓 5.1 是唯一份额上涨的安卓版本,其他安卓版本都有不同程度的下滑。

教程

  1. 《Android Context 完全解析》:Android 程序不像 Java 程序一样,随便创建一个类,写个 main 方法就能跑了,而是要有一个完整的 Android 工程环境,在这个环境下,我们有像 Activity、Service、BroadcastReceiver 等系统组件,而这些组件并不是像一个普通的 Java 对象 new 一下就能创建实例的了,而是要有它们各自的上下文环境,也就是 Context。Context 相信所有的 Android 开发人员基本上每天都在接触,因为它太常见了。虽然我们几乎每天都在使用 Context,但实际上 Context 有太多小的细节并不被大家所关注。点击文章链接,看看哪些 Context 的细节你还不知道。
  2. 《Activity 界面显示全解析》:Android 程序从点击桌面 icon 图标到界面显示,Framework 层会进行复杂的运算。有 Window 的初始化、由 Activity 去进行 View 绘制等。对于 Window 很多同学了解的并不是很透彻,只是会进行一些简单的 Api 调用。本文对 Window、Activity、View 之间的关系进行了深入的分析,对整个界面显示过程的解析也很到位,推荐大家深入学习。Framework 层的东西比较抽象,但对于我们的技术进阶有很大帮助。
  3. 《Android 应用开发编译框架流程与 IDE 及 Gradle 概要》
    我们开发 App 的大多数时候,编译流程都是直接通过 IDE 的按钮或者命令行一步到位 apk 的生成,直观上的感觉好像源码到 Apk 的生成只有一步,实质是中间会经过复杂的过程。Android 应用的编译其实就是打包为.apk 文件,这个被打包的 apk 文件实质其实是一个压缩包,这个压缩包至少包含编译为.class 文件转换的.dex 文件、一个二进制的 Manifest.xml 文件、编译的资源文件 resources.arsc、未编译的资源文件等,然后在运行前再对这个压缩包进行签名操作即可。整个过程中使用到是多个我们熟悉的工具,才会产生最后的 Apk 文件。阅读文章,了解更详细的编译流程。
  4. 《Android 开发中,有哪些坑需要注意?》:本文来自知乎上的一个提问。作者列出了 Android 开发中可能遇到的那些坑,有关于内存溢出、Api 版本、开发工具使用、数据库升级、Toast、多线程等多个知识点,点击文章,看看你踩过多少。
  5. 《Android 打包的那些事》:使用 gradle 打包 Apk 已经成为当前主流趋势,gralde 功能强大,基本能满足我们的所有需求,可以替换 AndroidManifest 的字符、多渠道区分、多工程全局配置、自定义 Apk 名称、混淆等等。文章中给出的技巧非常实用,推荐大家收藏。
  6. 《加速你的 Android 应用》:性能优化几乎是一个永恒的话题,无论是服务器端,还是前端,随着版本的迭代,开发者都会考虑性能优化。我们都希望自己的应用 bug 更少、兼容性更强、使用起来更加流畅。掌握基本的优化方法、了解常用的优化工具,是开发者的必备技能。本文介绍的工具或许你还没有使用过,但功能却很强大。同时作者也给出了内存优化编码层面的一些技巧,在文章结尾处提到的硬件加速知识也很实用。推荐大家将本文添加到性能优化的收藏夹。
  7. 《Android 架构演化之路》:演化是指一个事物变化成为另一个不同事物的平缓过程, 通常情况下会变得更加复杂或者变成更好。软件开发一直在进化和改变。实际上,一个好的代码结构必须帮助我们成长,这意味着不用重新写所有代码就可以扩展功能,当然我们也不能进行过度开发。这篇文章重点介绍了如何保持 Android 代码的清晰直观,文章中提到的技能有助于我们构建可维护、可扩展的应用。
  8. 《Android M 新特性 Doze and App Standby 模式详解》:本文是来自 QQ 空间团队的一篇文章。从 Android6.0 开始,Android 提供了两种省电延长电池寿命的功能:Doze 和 App Standby。当设备没有连接到电源,设备进入 Doze 模式时,系统将通过延迟最近用户没有使用的应用程序的后台 CPU 运作及网络活动,让应用程序处于 App Standby 状态,以此来减少电池消耗。为了保证用户的最佳体验,开发者有必要在 Doze 和 App Standby 模式下测试应用程序,及其对代码进行相应的调整。本文对两种模式进行了详解,对于出现的坑也给出了解决方案。
  9. 《用 MVP 架构开发 Android 应用》:最近一段时间关于移动端架构的讨论比较火热,有的人觉得 MVC 更好理解、有的人认为 MVVM 代码更清晰,也有的同学强烈推荐 MVP。无论是哪种架构,目的都是分离关注,使得 UI 更容易变换。不同的项目应该分别对待,结合自己的经验,加上对新架构的深入理解,选择最合适的架构才是上上策。本文是一篇介绍 MVP 架构的文章,相信文章中的一些解析会对你有所帮助。

开源项目

  1. AVLoadingIndicatorView :这是一个加载动画合集。loading 动画效果很绚。
  2. FlycoTabLayout :一个 Android TabLayout 库, 目前有两个 TabLayout:SlidingTabLayout 和 CommonTabLayout。SlidingTabLayout 对 ViewPager 依赖。CommonTabLayout 不同于 SlidingTabLayout, 它是一个不依赖 ViewPager 可以与其他控件自由搭配使用的 TabLayout。
  3. AndroidChangeSkin :一种完全无侵入的换肤方式,支持插件式和应用内,无需重启 Activity。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-11-17 18:002993
用户头像

发布了 121 篇内容, 共 38.8 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

安装Maven到Idea配置Maven竟如此简单

芝士味的椒盐

Java maven 5月月更

[Day33-02]-[二叉树] 恢复二叉搜索树

方勇(gopher)

LeetCode 二叉树 数据结构和算法

读《Software Engineering at Google》(16)

术子米德

架构师成长笔记

【愚公系列】2022年05月 二十三种设计模式(二)-抽象工厂模式(Abstract Factory Pattern)

愚公搬代码

5月月更

阿里巴巴Java性能调优实战

Joseph295

TypeScript 概述

Emperor_LawD

typescript 5月月更

二、应用高可用设计要点

穿过生命散发芬芳

5月月更 高可用设计

读《Software Engineering at Google》(21)

术子米德

架构师成长笔记

[Day33-03]-[二叉树] 二叉树展开为链表

方勇(gopher)

LeetCode 二叉树 数据结构和算法

某年某周每一天的时间是多少

入门小站

工具

Apache Calcite整体架构及处理流程

不穿格子衬衫的程序员

大数据 Apache Calcite database SQL解析

读《Software Engineering at Google》(20)

术子米德

架构师成长笔记

读《Software Engineering at Google》(24)

术子米德

架构师成长笔记

洞见科技李博:科技向实,隐私计算规模化应用吹响号角

洞见科技

金融科技 隐私计算

公众号运营推广方式

源字节1号

软件开发

Nacos 源码简析之 Nacos Client 自动注册原理

道嗔

源码 nacos

在线Excel转YAML工具

入门小站

工具

读《Software Engineering at Google》(23)

术子米德

架构师成长笔记

Netty篇之内存管理器

邱学喆

内存管理器 netty内存管理 jemalloc管理器

ubuntu 18及以上版本配置IP的方法,你get了吗

伍工

Linux 网络

Centos7升级Python2到Python3

入门小站

Linux

全链路压测(十):测试要做的准备工作

老张

性能测试 全链路压测 稳定性保障

LeetCode 242:有效的字母异位词

武师叔

5月月更

如何在 WordPress 中创建登录页面

海拥(haiyong.site)

WordPress 5月月更

《Linux是怎么样工作的》读书笔记

懒时小窝

Linux Linux Kenel

读《Software Engineering at Google》(17)

术子米德

架构师成长笔记

读《Software Engineering at Google》(22)

术子米德

架构师成长笔记

极简Java数据结构-环形队列突破上限

芝士味的椒盐

Java 数据结构 5月月更

读《Software Engineering at Google》(19)

术子米德

架构师成长笔记

Android开发周报:Android 6.0占比0.3%、Apk编译详解_移动_郭亮_InfoQ精选文章