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

新闻

  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中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

你可能感兴趣的:(Android开发周报:Android 6.0占比0.3%、Apk编译详解)