Android 博客周刊第 39 期

679 阅读8分钟
原文链接: androidblog.cn
  • AndroidBlog收录最近一周国内外热门技术博客以及优秀的类库,星期一准时更新。QQ群:149581646.

1.[视频]Android版Google Assistant已流出:体验方法如下

Google新推出的“Google Assistant”智能数字助理,初期仅面向Pixel设备推出。但没想到的是,Android版很快就被流出了。需要注意的是,这波泄露可能不会持续太长的时间.

国外博客

1.Android App Optimization Using ArrayMap and SparseArray

This article will show why and when use ArrayMap and SparseArray to optimize your Android Applications.

2.Android Devs, make your Toolbar and View backgrounds frosty

The blurry, frosted background is a common pattern on iOS where they have simply controls to achieve this. On Android however, this ends up being a lot of effort.

3.Scientists say Google is changing our brains

Back in the pre-internet days, if someone asked you a tricky question, you had a couple of options. You could see if anyone you knew had the answer.

4.Short Inspiration Guide With Android

Some people have the talent to come up with great ideas to program new things. For the ones that don’t have this gift, there’s much pain in reinventing the wheel.

5.Android Devs: Do your layouts look squashed on newer devices or spread out on older ones?

Do your layouts look squashed on newer devices? Or perhaps they look too spread out on older devices. Here’s why!

国内博客

1.QFix探索之路——手Q热补丁轻量级方案

QFix 是手Q团队近期推出的一种新的 Android 热补丁方案,在不影响 app 运行时性能(无需插桩去 preverify)的前提下有效地规避了 dalvik 下”unexpected DEX”的异常,而且还是很轻量级的实现:只需调用一个很简单的方法就能办到。

2.安卓自定义View进阶-事件分发机制详解

Android 事件分发机制详解,在上一篇文章 事件分发机制原理 中简要分析了一下事件分发机制的原理,原理是十分简单的,一句话就能总结:责任链模式,事件层层传递,直到被消费。 虽然原理简单,但是随着 Android 不断的发展,实际运用场景也越来越复杂

3.请不要滥用SharedPreference

SharedPreference是Android上一种非常易用的轻量级存储方式,由于其API及其友好,得到了很多很多开发者的青睐。但是,SharedPreference并不是万能的,如果把它用在不合适的使用场景,那么将会带来灾难性的后果;本文将讲述一些SharedPreference的使用误区。

4.Android Gradle 看这一篇就够了

目前, 大多数讲解 Gradle 的文章都是先从复杂的 Gradle 语法开始. 而实际上, 对于 Android 人员, 掌握这些语法细节并没有卵用, 我们仅需要能看懂, 随用随查即可. 那本文也是遵照 ‘实用’ 这个原则介绍 Android Gradle. 相信, 读过本文, 你至少应该不再畏惧 Build Script 了.

5.Matrix原理

在Android开发中,矩阵是一个非常强大且有趣的工具,在之前的一篇文章中对ColorMatrix的原理进行了详细的分析,用其实现了一些简单的颜色过滤功能,这一次我们来探寻一下同样强大的Matrix,它具有更改图像图形的有趣功能。

6.自定义控件之View原理与使用

不论在学习Android还是在做Android开发,我们都离不开View,所以学好View对一个Android开发人员来说尤为重要。Android中的每个控件都会在界面上得到一块矩形的区域,而在Android中,控件大致被分为两类,即ViewGroup 控件和View控件。

7.理解Android进程启动之全过程

Android系统将进程做得很友好的封装,对于上层app开发者来说进程几乎是透明的. 了解Android的朋友,一定知道Android四大组件,但对于进程可能会相对较陌生. 一个进程里面可以跑多个app(通过share uid的方式), 一个app也可以跑在多个进程里(通过配置Android:process属性).

8.Toolbar详解 · Material Design Part 2

这是一个系列文章,在这个系列里,我会按打造一个Material Design App的路线介绍所有应当掌握和值得掌握的系统组件。 你会在这些文章里了解到这些组件的使用和内部实现原理,以及它们背后所反映的Material Design的设计思想,希望你会喜欢。

9.SDK无埋点技术在百分点的探索和实践

今天带来SDK无埋点技术,大家可以了解到SDK无埋点技术是怎么实现的,百分点通过之前的埋点技术怎么演化了这种无埋点技术。我分三个部分来讲一下。第一部分,就是讲一下什么是SDK无埋点技术;第二部分,SDK无埋点技术如何实现?讲一些技术细节;第三部分,在实践中遇到的一些坑和解决方法。

10.Android View 全解析(一) -- 窗口管理系统

一直在写 Android Framework 层的东西,虽然很重要,但一直写这方面的内容,还是有些不够接地气。思前想后一番后,打算写写关于 View 这个在 Android 中平常得不能更平常的东西。由浅入深,仔细梳理,帮助我,也希望能帮助你,更好地再次认识 View。

11.Android Studio调试技巧

写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点;可是你听说过日志断点吗,Method Breakpoint, Exception Breakpoint 呢?还有高大上的 Field Watchpoint ?

12.GC那些事儿--Android内存优化第一弹

接App优化之内存优化(序), 作为App优化系列中内存优化的一个小部分.由于内存相关知识比较生涩, 内存优化中使用到的相关工具, 也有很多专有名词. 对Java内存管理, GC, Android内存管理, Dalvik/ART等知识有一个理论的认识, 可以让我们更好的使用这些工具, 分析内存问题.

13.Android 过度绘制优化

Android 从一诞生到现在已经发布的 7.0 版本,卡顿和不流畅问题却一直被人们所诟病。客观地来讲,Android 的流畅性确实一直不给力,哪怕是某些大厂的 App ,也都不同程度地存在卡顿问题。从开发角度来说,每个开发者都应该关注下性能优化,在平时的开发工作中注意一些细节,尽可能地去优化应用。

1.DiagonalLayout

一款优雅的material design对线Layout

2.ImageTransition

圆形和方形转换的类库

3.appbarlayout-spring-behavior

滑动拉伸效果

4.MobileVisionBarcodeScanner

可移动的条码扫描器

5.QFix

QFix是手Q团队近期推出的一种新的android热补丁方案

6.TVSample

1、仿泰捷视频最新TV版 Metro UI效果. 2、仿腾讯视频TV版(云视听·极光) 列表页

7.ThreeDLayout

一款3D Layout,他可以让任何view拥有3D效果,可以触摸展示3D效果,或者执行翻转动画。

8.BottomDialog

是一个通过 DialogFragment 实现的底部弹窗布局,并且支持弹出动画,支持任意布局

9.banya

一个豆瓣APP实例

10.Material-ViewPagerIndicator

Dot-based Android ViewPager indicator with Material Design animations

11.CutoLoadingView

a timer which ectends an View

12.AutoFillEmailEditText

自动填充的EditText

13.GradeProgressView

模仿小米安全中心的进度效果

14.debug-bottle

Android Java / Kotlin 程序员开发调试工具。

15.NDK-FFmpeg-master

基于ffmpeg的 视频解码 音频解码.播放等

16.TimerView

外形类似华为时钟的定时器控件

参考视频

1.Storage Access Framework

[google]android存储访问框架Storage Access Framework

2.Picture in Picture on Android TV

Android TV dev

1.算法第三课

枚举算法又被称为穷举算法,字面看很暴力,先来看一个例子:3位数与3位数相加等于一个3位数(使用1~9,不能重复),用穷举来说,就是列举所有的可能。这样写for循环的话,我们要写9个循环嵌套(9个数字,每个都要循环),然后通过一大串的判断语句之后.

2.从斐波那契数列求值优化谈 _.memoize 方法

实现原理和 memoize 差不多,underscore 将缓存中间结果的 cache 对象绑在了闭包返回的函数上(当做函数的属性),同时增加了一个 hasher 函数选项,如果函数有好几个参数,那么我们可以传入这个 hasher 函数来计算 key 值,从而来 hash。

博外话

1.北漂还是回家发展?

1、回家种田 - 三千 2、这个问题不会有结论啊 ,现在想种田都没田可种了 - Star 3、看了下老家的招聘信息,感觉会月光 - 溺水的鱼 4、我回家都好几年了,在北京多赚几年钱 回家发展吧,反正现在帝都的房子也不是容易买的 - 胜邪

2.编程的三个阶段

关于这个问题我当时回答当然是后者好,这个问题的答案看上去很明显,但为什么初学者会产生这样的疑问呢?我陷入了对这个问题的思索,回溯追忆着自己从学习编程到从业至今的经历,感觉编程其实是这样一件事,它大概会经历三个阶段。