Android开发技术周报 Issue#106

十一月 21, 2016 0 条评论 AndroidDevWeekly

新闻

  1. 又有四款Chromebook获得Play Store支持

  2. Google打击Pixel/Pixel XL黄牛 已锁定200多个帐号

  3. 谷歌加快Chrome和Android融合 首批产品明年末问世

  4. 谷歌在Instagram上开通Android官方帐号

教程

  1. Android ImageView 正确使用姿势

    本文主要介绍了ImageView的相关重要方法,从源码角度剖析了一些容易令人混淆或百思不得其解的问题。一、正确合理使用ImageView 的src 和background:1.src :为ImageView 原图内容,存放原图大小,不会被拉伸;2.background:为Imageview的背景,会根据ImageView给定的长宽进行拉伸;在ImageView中,可以同时设置src和background属性(为了减少绘制,可以根据使用场景来设置相应属性); 由于src中存放的是原图大小,如果需要对其缩放,就需要使用android:scaleTyle这个属性(scaleType 只对src属性有效),另外还可以对background设置透明度。

  2. Android内存泄漏分析心得

    对于C++来说,内存泄漏就是new出来的对象没有delete,俗称野指针;对于Java来说,就是new出来的Object 放在Heap上无法被GC回收;本文通过QQ和Qzone中内存泄漏实例来讲android中内存泄漏分析解法和编写代码应注意的事项。Java 中的内存分配:1.静态储存区:编译时就分配好,在程序整个运行期间都存在。它主要存放静态数据和常量;2.栈区:当方法执行时,会在栈区内存中创建方法体内部的局部变量,方法结束后自动释放内存;3.堆区:通常存放 new 出来的对象。由 Java 垃圾回收器回收。

  3. 安卓自定义View进阶-特殊控件的事件处理方案

    本文带大家了解 Android 特殊形状控件的事件处理方式,主要是利用了 Region 和 Matrix 的一些方法,超级实用的事件处理方案,相信看完本篇之后,任何奇葩控件的事件处理都会变得十分简单。不得不说,Android 对事件体系封装的非常棒,即便对事件体系不太了解的人,只要简单的调用方法就能使用,而且具有防呆设计,能够保证事件流的完整性和统一性,最大可能性的避免了事件处理的混乱,着实令人佩服。然而世界上并没有绝对完美的东西,当【事件处理】遇上【自定义View】,一场好戏就开演了,玩的好叫坐镇军前,指挥千军万马而分毫不乱,玩的不好就是抓耳挠腮,眼见敌人前后包抄而无可奈何。

  4. 携程移动端 UI 界面性能优化实践

    人类大脑与眼睛对一个画面的连贯性感知其实是有一个界限的,譬如我们看电影会觉得画面很自然连贯,其帧率通常为 24fps;那么,用手机当然也需要感知屏幕操作的连贯性(尤其是动画过渡),所以在手机领域 Android/iOS 索性就把达到这种流畅的帧率规定为 60fps。基于上面的背景,我们开发 App 的帧率性能目标就是保持在 60fps(16ms/帧),即我们在进行 App 性能优化时,要遵循如下准则:1.尽量保证每帧在 16ms 内处理完所有的 CPU 与 GPU 计算、绘制、渲染等操作,否则会造成丢帧卡顿问题。2.基于上面的卡顿原理,我们知道所谓的卡顿其实是可以量化的,每次是否能够成功渲染是非常重要的问题,即 16ms 能否完整的做完一次操作直接决定了卡顿性能问题。

  5. Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?

    做移动客户端开发的朋友们肯定都因为图头疼过,说起来曾经还有过 leader 因为组里面一哥们在工程里面加了一张 jpg 的图发脾气的事儿,哈哈。为什么头疼呢?吃内存呗,时不时还给你来个 OOM 冲冲喜,让你的每一天过得有滋有味(真是没救了)。那每次工程里面增加一张图片的时候,我们都需要关心这货究竟要占多大的坑,占多大呢?Android API 有个方便的方法

  6. PNG图片压缩对比分析

    随着版本的迭代,业务的增加,QQ音乐apk的大小已经超过25M,其中res目录占用的大小超过5.5M,所以提出了对安装包进行瘦身的技术需求。业务的增加导致图片越来越多,通过分析可以知道PNG格式图片是项目中数量最多的图片,关于PNG图片的介绍可以参考:PNG文件格式详解。为了实现减包任务,对图片进行压缩是很重要的一部分。

开源库 & App

  1. RapidInterpolator

    仿写自 Rebound,安卓曲线动画调节工具,可方便设计师和开发者在程序内部逐个调节动画的曲线、时间、延迟。提高动画调试效率,减少编译浪费的时间

  2. Crescento

    Add curve at bottom of image views and relative layouts.

  3. ENViews

    一个华丽丽的动效控件库,所有控件原型取自 Nick Buturishvili 的设计作品

  4. SuspendButtonLayout

    一个带浮动按钮的布局,按钮可以随意拖动展开

  5. SmartFonts

    一个方便你在应用里使用自定义字体的库

  6. Android-Debug-Database

    一个可以在浏览器里查看 App 的数据库和 SharedPreferences 数据的库

  7. AlgorithmVisualizer-Android

    一个展示各种算法可视化的 App

  8. jstraining

    全栈工程师培训材料

  9. MaterialBadgeTextView

    Badge 风格的 TextView,支持 Shadow 和 Elevation

  10. GaussianBlur

    A easy and simple library to apply Gaussian blur on images

  11. SimpleText

    A simple spannable string helper

  12. BadgeView

    a BadeView base on android

  13. dynamic-load-view

    A library to dynamic load view in online apk, can be used for hotfix dynamic update

  14. Moxy

    Moxy is a library that help to use MVP pattern when you do the Android Application. Without problems of lifecycle and boilerplate code!

设计

  1. 啥是Design Sprint冲刺?

    Design Sprint是目前在湾区比较流行的一种设计方法。它是由Google内部(其实是Google Venture,Google投资的一家类似的咨询公司,湾区的蓝罐咖啡就他们做的叼叼的)梳理的一套如何带领团队快速做创新设计并验证设计的基本流程。我翻译整理了以下这两个文档《New Form Factors Sprint Playbook》《Product Design Sprint Playbook 》,总结了Design Sprint操作执行的要点和中间过程可用的方法,算是做个思路拓展也便于我在团队内运用类似的方法开展设计创新活动。

活动

  1. 郑州 GDG DevFest 2016

    不仅有DevFest 主题T恤、猴年版 Android 机器人玩偶、GDG 社区徽章、技术分享还有神秘奖品的抽奖,还可以体验 VR 设备哦,郑州滴小伙伴们走过不要错过哦😊

捐赠

如果你觉得Android开发技术周报对您有所帮助,请考虑对本周报捐赠支持。支持我把Android开发技术周报做的更好,帮助更多的人,金额随意,您的捐赠将用于支付服务器和邮件推送服务的费用。捐赠列表

支付宝

版权声明

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

脉脉不得语
ZhengZhou Website
{Developer=菜鸟Android程序猿; Blog=http://inferjay.com; Github=http://github.com/inferjay}