Android开发技术周报 Issue#96

安卓开发   2016-09-05 21:33:54 发布
您的评价:
     
0.0
收藏     0收藏
文件夹
标签
(多个标签用逗号分隔)

教程

  1. 浅析 Android 打包流程

    和一些同行交流的过程中发现部分朋友实际上对 Android 打包流程基本没有比较清晰完整的概念,所以本文主要聊一聊 Android 的打包流程,以及目前已有的或多或少可以与 Android 打包搭一点边的开源技术,互相学习。 更好的了解 Android 的打包流程,有助于我们做一些针对编译期的优化,包括但不限于提高打包速度(毕竟时间就是金钱,我的朋友),提高 Android 应用的 hack 难度增加安全性,减少 Android 安装包的体积,完成一些自动化的编码减少编码压力等。

  2. Android构建过程分析

    或许我们都知道Android构建会经历资源合并打包、源码编译、dex生成及打包签名等步骤,可是不是每个人对这些过程中发生的事情都了然于心呢?或许不然,于是带着好奇心开始了对Android gradle plugin的学习,现简要整理一下。如果项目引入了android support包,又或许依赖于其它第三方aar库,那构建前会将aar解压并与本地资源合并,这里的资源主要包括assets目录,res目录及Androidmanifest.xml。

  3. 基于RxJava的一种MVP实现

    RxJava是一个实现Java响应式编程的库,让异步事件以序列的形式组织。MVP则通常用来将View业务层与Model层分离开来,两者结合起来可轻松实现业务解耦、线程控制、单元测试等等强大功能

  4. 为什么图片反复压缩后会普遍会变绿而不是其他颜色?

    问题出在 Android 提供的压缩图片接口上,准确的说是一个 Android 里一个叫做 Skia 的库上。而这个 bug 在 2016 年 4 月中旬被修复了,如果按照 Android 的发行来看,那就是从 Android 7 (Nougat) 开始才消除这个问题。

  5. Android 专项测试之GPU测试探索

    我们在安卓上进行性能测试时,如果想获取CPU以及内存等常用性能指标,linux系统自身就提供了现成的方法,谷歌官方甚至公司内部也都提供了大量功能强大的分析工具。而相比之下,想要获取GPU的相关指标则没那么容易,甚至我们对GPU应该使用什么指标衡量都几乎一无所知。这一方面是由于系统没有提供相关接口与命令,另一方面似乎业界目前对于GPU的关注度不足,相关积累与沉淀较少,鉴于此,个人感觉GPU测试这一块也可以作为终端专项后面需要关注及攻克的课题。

  6. 解析ViewTreeObserver源码,体会观察者模式、Android消息传递(下)

    继上篇内容,本文介绍 ViewTreeObserver 的使用,以及体会其所涉及的观察者模式,期间会附带回顾一些基础知识。最后,我们简单聊一下 Android 的消息传递,附高清示意图,轻松捋清整个传递过程!在开始下篇之前,有必要回顾一下上篇提及的 ViewTreeObserver 的概念:ViewTreeObserver 是被用来注册监听视图树的观察者,在视图树发生全局改变时将收到通知。这种全局事件包括但不限于:整个视图树的布局发生改变、在视图开始绘制之前、视图触摸模式改变时

  7. Android 7.0 Nougat 多窗口 秘の初体験

    谷歌于8月22日也就是北京时间23日发布了Android 7.0 Nougat牛轧糖的正式版,爱哥也及时将手中的Nexus5X刷到了正式版7.0,把玩了一段时间后爱哥觉得在普通应用的功能上7.0木有太大的改进,当然这是相比5.0而言,5.0爱哥觉得算是Android改动较大的一个版本,刚出来就给人各种惊喜,相对而言7.0则没那么多亮点,一个主要的原因是7.0中不少功能在国内各大各小的UI系统上都早有雏形甚至体验比7.0更好,就拿7.0让人期待的分屏来说,早在某米和某族等国产神机上就有了,某族上的一些应用分屏甚至做得更好

  8. JAVA代码覆盖率工具JaCoCo-实践篇

    Android项目只能使用JaCoCo的离线插桩方式。为什么?主要是因为Android覆盖率的特殊性:一般运行在服务器java程序的插桩可以在加载class文件进行,运用java Agent的机制,可以理解成"实时插桩"。JaCoCo提供了自己的Agent,完成插桩的同时,还提供了丰富的dump输出机制,如File,Tcp Server,Tcp Client。覆盖率信息可以通过文件或是Tcp的形式输出。这样外部程序可很方便随时拿到被测程序的覆盖率。

  9. JAVA代码覆盖率工具JaCoCo-踩坑篇

    JAVA代码覆盖率工具JaCoCo-原理篇和JAVA代码覆盖率工具JaCoCo-实践篇已经给大家介绍过了,本篇为踩坑篇,这里的话题不是说明JaCoCo有什么问题,而是把过程中遇到的几个棘手问题的解决方法分享给大家,只要细心,放下焦虑的心态,问题都可以解决的。在项目中使用JaCoCo覆盖率的时候,也遇到过各种奇葩的问题,在这里列出来分享下,问题和实际的项目关系密切,希望对有遇到过相似问题的童鞋有所启发。

开源库&项目

  1. Amigo

    一个由来自饿了么团队开源的 Android Hotfix 新方案

  2. RecyclerViewSnap

    RecyclerView snapping example with SnapHelper

  3. Particle

    很酷的粒子动画效果

  4. MagicIndicator

    一个强大、可定制、易扩展的 ViewPager 指示器框架

  5. SmartisanPull

    仿锤子阅读下拉刷新效果

  6. StateView ( By C君 )

    StateView一个轻量级的控件, 继承自View, 初始状态下是不可见的, 不占布局位置, 占用内存少。 相对于其他具有同样功能的一些控件, StateView更具有优势

  7. GpCollapsingToolbar

    Google Play app behaviour collapsing toolbar

  8. Reduks

    A "batteries included" port of Reduxjs for Kotlin+Android

  9. loaderviewlibrary

  10. unipiazza-android-twostepslogin An Android library that helps you to make a cool two steps login in Material Design way. Such as Google web login

  11. TextViewExpandableAnimation

    Expandable TextView With Smooth Transition Animation

  12. UltraIndicator

    A custom indicator for ViewPager

  13. WavyLineView

    A custom wavy line view for android.

工具

  1. Awesome adb

    ADB 用法大全

视频

  1. 首次 Sketch 官方授权的线下活动嘉宾分享视频出炉

  2. 精准测试介绍

设计

  1. 产品设计的思考方式系列

技术之外

  1. 一家初创公司的 CTO 应当做什么?

 

来自:http://www.androidweekly.cn/android-dev-weekly-issue-96/

 

扩展阅读

Android开发技术周报 Issue#91
Android开发技术周报 Issue#94