Android开发技术周报 Issue#114

一月 16, 2017 0 条评论 AndroidDevWeekly

新闻

  1. Google通知:Android通知中心风格必须统一

  2. Google 致信开发者:透露 Android Wear 2.0 新版到来时间

  3. Chrome OS运行Android 7.1.1截图曝光

  4. Android最新份额:只有0.2%设备运行最新系统 Froyo份额低于0.1%

教程

  1. 谈谈Android的so

    一般情况下,我们不需要关心so。但是当APP使用的第三方SDK中包含了so文件,或者自己需要使用NDK开发某些功能,就有必要去好好了解下so的一些知识。早期的Android设备只支持ARMv5的CPU架构,随着Android系统的快速发展,搭载Android的硬件平台也早已多样化了,又加入了ARMv7,x86,MIPS,ARMv8,MIPS64和x86_64。

  2. 你为什么需要 Kotlin

    为了不丢掉社会主义新青年勤奋刻苦的优良传统,你决定学一下 Kotlin,不过说真的,这决定也是坑苦了自己,毕竟那段时间 Kotlin 的 API 还没有趋于稳定,经常从网上找到个 demo,搞到本地就编不过去,哭死。直到 2016年2月,Kotlin 1.0 正式发布,凌乱的 API 也随着曾经躁动的心的平静而稳定下来,你无需再忍受什么,甚至还有了一种『终于看着娃长大了』的感觉。

  3. React Native 核心渲染流程分析(1) - 初识组件系统

    最近把yoga源码看了一遍,它是一个按照Flexbox ( https://www.w3.org/TR/css3-flexbox )规范,利用Web熟悉的API做高效measure的库。本来想做个它在React Native for Android (以下简称RN4A)中的应用与分析,但是在这之前应该先将RN渲染流程搞懂,我们才能去进一步分析如何应用yoga去辅助测量。

  4. ExifInterface 支持库简介

    随着 25.1.0 支持库的发布,支持库大家庭迎来了一名新成员:ExifInterface 支持库。由于 Android 7.1 引入了对框架 ExifInterface 的重大改进,因此只有通过支持库的 ExifInterface 让所有 API 9 以上的设备都能利用这些改进才有意义。

  5. 人人车Android客户端架构演进实录

    本文回顾总结了人人车公司Android客户端的架构演进历程。人人车App随着公司在业务和规模上的飙升,持续集成业务需求的同时,架构也不断的重构演化,从模块化,分层化,到框架化,服务化,对Android客户端架构设计和改进有一定的参考意义。

  6. RecyclerView 必知必会

    RecyclerView是Android 5.0提出的新UI控件,位于support-v7包中,可以通过在build.gradle中添加compile 'com.android.support:recyclerview-v7:24.2.1'导入。RecyclerView的官方定义如下:A flexible view for providing a limited window into a large data set.从定义可以看出,flexible(可扩展性)是RecyclerView的特点。不过我们发现和ListView有点像,本文后面会介绍RecyclerView和ListView的区别。

  7. 美团热更新方案 ASM 实践

    从《Android热更新方案 Robust》一文可知,美团热更新使用的是 Instant Run 的方案。本文将着重于分享美团热更新方案中没讲到的部分,包含以下几个方面:1.作为云服务提供厂商,需要提供给客户 SDK,SDK 发布后同样要考虑 Bug 修复问题。此处将介绍作为 SDK 发布者的热更新方案选型,即为什么使用美团方案&Instant Run 方案。2.美团方案实现的大致结构;3.ASM 插桩的过程,字节码导读,以及遇到的各种坑

  8. Android 5.0(Lollipop)中的SurfaceTexture,TextureView, SurfaceView和GLSurfaceView

    SurfaceView从Android 1.0(API level 1)时就有 。它继承自类View,因此它本质上是一个View。但与普通View不同的是,它有自己的Surface。我们知道,一般的Activity包含的多个View会组成View hierachy的树形结构,只有最顶层的DecorView,也就是根结点视图,才是对WMS可见的。这个DecorView在WMS中有一个对应的WindowState。相应地,在SF中对应的Layer。而SurfaceView自带一个Surface,这个Surface在WMS中有自己对应的WindowState,在SF中也会有自己的Layer。

  9. Jack和Jill 你应该在你下个安卓app中应用吗?

    2016年Google大会发布了 Android N与新的编译工具 Jack 和 Jill.Jack和Jill(Jack Intermediate Library Linker) 是 Android 的编译器,目的是替代现有的 javac+dx 工具链.我们看一下在这之前 Android 是如何进行编译工作,以及在这之后如何使用 Jack 在你的 Android 应用项目.

  10. 你真的了解 gzip 吗?

    因缘巧合写了这篇文章,初心是了解一下gzip,并给和我一样初级的前端萌新玩家做一个分享。其他前端玩家看到文中疏漏的地方,欢迎提出意见。感谢寸志老师收录这篇小文章,感谢评论区各位提供的意见。我会在认真研究之后,写出第二篇《你真的了解gzip吗》,根据gzip算法特性编写静态文件以实现gzip压缩效率最大化。

开源库 & App

  1. hover

    A floating menu library for Android.

  2. ARouter

    用于在Android平台,从外部(浏览器等),内部直接导航到页面、服务的中间件

  3. MagicFloatView

    一个可配置及自定义拓展漂浮路径的迷你版轻量级 MagicFlyLinearLayout 漂浮控件

  4. CounterFab

    A FloatingActionButton subclass that shows a counter badge on right top corner

  5. FreeBuilder

    Automatic generation of the Builder pattern for Java 1.6+

  6. PanoramaImageView

    通过监听设备旋转,自动滚动图片

工具

  1. Walle

    新一代开源Android渠道包生成工具

  2. VectorDrawable Previewer

    一个可以在 Chrome 里预览 VectorDrawable 文件的插件

  3. ApkMultiChannelPlugin

    一个为了方便 Android 多渠道打包的 Android Studio / IDEA 插

  4. AndroidSDK

    由于Docker默认的AUFS存储驱动原因, 市面上所有开源的Android Docker镜像都是无法正常使用(更新SDK便会失败). 这个是第一个能完美使用, 并且包含模拟器, 同时, 教程非常详细.

  5. dryrun

    Try the demo project of any Android Library

  6. Android Rocket Launcher

    Launch android modules from the terminal

视频

  1. Kotlin从入门到『放弃』系列 视频教程

技术之外

  1. 新手最快摆脱“烂片”的方法:学会三分法构图

  2. Coursera 上有哪些课程值得推荐?

  3. 如何掌控你的自由时间

版权声明

欢迎自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 4.0

脉脉不得语
ZhengZhou Website