Android开发技术周报 Issue#98

新闻

  1. Android Studio 2.2发布:改进平台支持 速度提高更智能css

  2. Nexus 5非官方吃上Android 7.0 Nougathtml

  3. Google Pixel新机可能容许双安卓系统启动java

教程

  1. C++11学习android

    当Android用ART虚拟机替代Dalvik的时候,为了表示和Dalvik完全划清界限的决心,Google连ART虚拟机的实现代码都切换到了C++11。C+11的标准规范于2011年2月正式落稿,而此前10余年间,C++正式标准一直是C++98/03[①]。相比C++98/03,C++11有了很是多的变化,甚至一度让笔者大呼不认识C++了[②]。不过,做为科技行业的从业者,咱们要铭记在心的一个铁规就是要拥抱变化。既然咱们不认识C++11,那就把它当作一门全新的语言来学习吧。git

  2. 推送 从入门到放弃github

    推送简直就是一种轻量级的骚扰方式自从有了推送,各个公司基本上都在使用推送,这确实是一个比较好的提醒方式,Android较iOS强的一个部分,也就是在于Android的Notification。Google教育咱们利用好Android的通知模块,作更多友好的交互,可这句话,翻译成中文,不知不觉,就变成了在Notification中推送各类广告,并且仅仅就是一些广告,Notification各类牛逼的功能,彻底不须要,这也违背了Google设计Notification的初衷。更关键的是,如今随便找一款App,没有推送的真是百里挑一,更可恶的是,作外卖的App给我推送奥运新闻,一条新闻十几个App推送,以致于如今不少用户都很是反感各类推送广告,就我本人而言,基本上会禁用全部广告类的App的推送。shell

  3. Android LowMemoryKiller原理分析框架

    Android的设计理念之一,即是应用程序退出,但进程还会继续存在系统以便再次启动时提升响应时间. 这样的设计会带来一个问题, 每一个进程都有本身独立的内存地址空间,随着应用打开数量的增多,系统已使用的内存愈来愈大,就颇有可能致使系统内存不足, 那么须要一个能管理全部进程,根据必定策略来释放进程的策略,这便有了lmk,全称为LowMemoryKiller(低内存杀手),lmkd来决定什么时间杀掉什么进程.eclipse

  4. 拆轮子系列:拆 RxJavaide

    RxJava 这个项目已经持续四年半了,第一个 commit 是在 2012 年 3 月 18 号。我从 14 年 11 月份开始使用 RxJava,应该算是比较早的,将近两年过去了,如今 RxJava 1.x 版本已经进入稳按期,2.0 版本也已经进入了 RC 阶段。本来打算把 Advanced RxJava 系列博客翻译完以后再拆 RxJava 的,可是前两周看了一个 JW 讲 RxJava 的视频,忽然有种隐隐打通任督二脉的感受,索性趁着中秋佳节,一气呵成把 RxJava 好好拆开看个究竟。本文的分析基于 RxJava 截至 2016.9.16 的最新源码,很是建议你们下载 RxJava 源码以后,跟着本文,过一遍源码

  5. Android热更新方案Robust

    从去年开始,Android平台出现了一些优秀的热更新方案,主要能够分为两类:一类是基于multidex的热更新框架,包括Nuwa、Tinker等;另外一类就是native hook方案,如阿里开源的Andfix和Dexposed。这样客户端也有了实时修复线上问题的可能。但通过调研以后,咱们发现上述方案或多或少都有一些问题,基于native hook的方案:须要针对dalvik虚拟机和art虚拟机作适配,须要考虑指令集的兼容问题,须要native代码支持,兼容性上会有必定的影响;基于Multidex的方案,须要反射更改DexElements,改变Dex的加载顺序,这使得patch须要在下次启动时才能生效,实时性就受到了影响,同时这种方案在android N [speed-profile]编译模式下可能会有问题,能够参考Android N混合编译与对热补丁影响解析。考虑到美团Android用户机型分布的碎片化,很难有一个方案能覆盖全部机型。

  6. 安卓自定义View进阶-Matrix Camera

    本篇依旧属于Matrix,主要讲解Camera,Android下有不少相机应用,其中的美颜相机更是很多,不过今天这个Camera可不是咱们平时拍照的那个相机,而是graphic包下的Camera,专业给View拍照的相机,不过既然是相机,做用都是相似的,主要是将3D的内容拍扁变成2D的内容。众所周知,咱们的手机屏幕是一个2D的平面,因此也没办法直接显示3D的信息,所以咱们看到的全部3D效果都是3D在2D平面的投影而已,而本文中的Camera主要做用就是这个,将3D信息转换为2D平面上的投影,实际上这个类更像是一个操做Matrix的工具类,使用Camera和Matrix能够在不使用OpenGL的状况下制做出简单的3D效果。

  7. 那些你不知道的APK 瘦身,让你的APK更小

    让咱们的apk文件尽量更小,移除那些未使用的代码和资源文件。本章节介绍了如何作到让APK更小,性能更好,下载转化率会更高,以及如何指定在构建APK过程当中保留或移除项目中的代码和资源,在咱们尚未分析APK大小以前,项目中存在一些资源放置处理不当,没有统一的规范,依赖管理不合理,资源重叠,dex方法数过多、文件过大等问题,致使整个APK文件也比较大,对于下载转化率必然有必定的影响。那么公司要求咱们的产品APK体积大小要优化到3M左右。通过咱们的努力终于达到要求,然而咱们发现还能再小。

开源库&项目

  1. AnoleFix

    Another hotfix 另外一个热修复方案 Alpha,来自InstantRun 和 Robust 相似

  2. TapTargetView

    Material Design 风格的使用指南提示效果

  3. Qart

    一个能够将图片和二维码合并成一张带有图片内容的二维码的库

  4. LowPoly

    一个能够将图片转换为 Lowpoly 风格的库

  5. StylishMusicPlayer

    一款优雅时尚的 Android 播放器

  6. DrawableColorChange

    能够经过代码动态改变 Drawable 颜色的库

  7. java-error-handler

    Error handling library for Android and Java

  8. DoubleStickyHeadersList

    An Android library for double level section headers that stick to the top of list

  9. fingerlock

    FingerLock is a library designed to make fingerprint authentication an easy task for Android developers

  10. AndroidAudioConverter

    一个音频格式转换库,支持 AAC, MP3, M4A, WMA, WAV、FLAC 等格式

  11. GoogleClock

    仿Google 2016 I/O大会里那个炫酷的时钟,纯SVG动画

  12. CreditSesameRingView

    Imitation of Ali credit sesame new old ring view

  13. OhMyBiliBili

    高仿哔哩哔哩动画安卓客户端 - ( ゜- ゜)つロ 乾杯~

  14. UniqueAdapter

    借助DataBinding,只须要一个Adapter

技术以外

  1. 什么是工程师文化?

  2. 你连自律都作不到,还奢谈什么自由

相关文章
相关标签/搜索