程序亦非猿

菩提本无树,程序亦非猿。


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 友链

  • 搜索

深入理解 Jetpack 之 ViewModel

发表于 2019-06-12 | 更新于: 2020-06-29 | 分类于 Android | 阅读次数:
字数统计: 2.8k | 阅读时长 ≈ 12 分钟

0. 前言

本文是深入理解「Android Architecture Components」系列文章第四篇
源码基于 AAC 1.1.1 版本

在上一篇 LiveData 原理分析一文中,我们提到了 ViewModel ,它跟 LiveData 配合能够把价值发挥到最大。

这一篇,我们就来深入浅出一下 ViewModel ,来讲讲 ViewModel 的使用方式、生命周期、以及它的实现原理。

阅读全文 »

深入理解 Jetpack 之 LiveData

发表于 2019-06-12 | 更新于: 2020-04-23 | 分类于 Android | 阅读次数:
字数统计: 3.4k | 阅读时长 ≈ 14 分钟

0. 前言

本文是深入理解「Android Architecture Components」系列文章第三篇

源码基于 android.arch.lifecycle:livedata-core:1.1.1

在之前我们深入研究了 Lifecycle 的实现原理,并在文末提到了LiveData 以及 ViewModel,这次我们来讲讲 LiveData。

LiveData 是 Android Architecture Components 中的一员,先看下官方是如何介绍的:

LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. This awareness ensures LiveData only updates app component observers that are in an active lifecycle state. [见 9.1]

This class is designed to hold individual data fields of ViewModel, but can also be used for sharing data between different modules in your application in a decoupled fashion. [见 9.2]

阅读全文 »

深入理解 Jetpack 之 Lifecycle

发表于 2019-06-12 | 更新于: 2020-04-23 | 分类于 Android | 阅读次数:
字数统计: 3.8k | 阅读时长 ≈ 16 分钟

0. 前言

本文是深入理解「Android Architecture Components」系列文章第二篇
源码基于 1.1.1 版本

在前文,我就提到 Android Architecture Components (后简称为 AAC),是一个帮助开发者设计 健壮 、 可测试 且 可维护 的一系列库的集合。

Lifecycle 就是 AAC 中的一员,它能够帮助我们方便的管理 Activity 以及 Fragment 的生命周期。

本文带大家深入了解 Lifecycle 。

注意:本文基于 Lifecycle 1.1.1 版本,Android API 26 ,依赖如下图。

image.png


并假设读者对 Lifecycle 有基本的了解,我绘制了一个基本的类图,如果对于下面类图所涉及到的类都还算了解则可以继续阅读下去,如果完全不知道,建议阅读一些教程先。

image.png

阅读全文 »

Android 应用架构新时代来临!

发表于 2019-06-12 | 更新于: 2019-06-12 | 分类于 Android | 阅读次数:
字数统计: 858 | 阅读时长 ≈ 3 分钟

spencer-davis-1533814-unsplash.jpg

0. 前言

本文是深入理解「Android Architecture Components」系列文章的开篇。

在 2017 年,Android 推出了 Android Jetpack,它是新一代组件、工具和架构指导,旨在加快 Android 应用开发速度。

Android Jetpack 分为四大块:Architecture、UI、Foundationy 以及 Behavior,随着时间的增加,Android 团队在 Jetpack 又增添了许多组件,目前最新的版图如下。

阅读全文 »

Google I/O 2019 Android 开发者关注些什么?

发表于 2019-05-08 | 更新于: 2019-06-12 | 分类于 Android | 阅读次数:
字数统计: 1k | 阅读时长 ≈ 4 分钟

你好,我是程序亦非猿,一个正在努力成长的阿里资深无线开发工程师。

抽空看了下 I/O , 大概的记录了些东西。

整体上看,这一年,Android 只专注一件事,就是帮助开发者提高生产效率。(developer productivity)

1. Kotlin first

Android development will become increasingly Kotlin-first.

“Many new Jetpack APIs and features will be offered first in Kotlin. If you’re starting a new project, you should write it in Kotlin; code written in Kotlin often mean much less code for you–less code to type, test, and maintain.”

“We understand that not everybody is on Kotlin right now, but we believe that you should get there,”

Google 走在推广 Kotlin 的路上坚定不移。

阅读全文 »

这可能是一年中进阿里最好的机会了

发表于 2019-05-05 | 更新于: 2019-05-06 | 分类于 Android | 阅读次数:
字数统计: 825 | 阅读时长 ≈ 2 分钟

chi-liu-1552956-unsplash.jpg

最近阿里财年结束,阿里员工们都知道了自己的绩效以及年终奖,预计会有一波人离职。

因为阿里绩效的 361 很残酷,拿了 1 的同学没有涨薪也没有年终奖,有大一部分都会选择离开。

再加上一些本来就等着拿了年终奖后就跳槽的同学,后续的1~2个月估计会有不少人离职。

所谓一个萝卜一个坑 ,老萝卜不走新萝卜不进,只有老萝卜挪位子了,坑才会多出来。

所以,未来的1~2个月可能会是一年中进阿里最好的时机 。

那么,如果有同学想尝试一下,应该怎么做呢?

我给大家传授一些经验。

阅读全文 »

Lottie 源码分析--揭秘炫酷动画的背后原理

发表于 2019-04-22 | 更新于: 2019-04-25 | 分类于 Android , 源码分析 | 阅读次数:
字数统计: 2.6k | 阅读时长 ≈ 10 分钟

mat-reding-1525395-unsplash.jpg

0. 前言

自我在内网发布了一篇关于 Lottie 的原理分析的文章之后,就不断有同事来找我询问关于 Lottie 的各种东西,最近又有同事来问,就想着可能对大家也会有所帮助,就稍作处理后分享出来。

需要注意的是,这文章写于两年前,基本版本 2.0.0-beta3,虽然我看过最新版本,主要的类没有什么差别,不过可能还是会存在一些差异。

可以感受一下我两年前的实力。:-D

阅读全文 »

细节之中自有天地,整洁成就卓越代码

发表于 2019-03-31 | 更新于: 2019-03-31 | 分类于 万般皆下品惟有读书高 | 阅读次数:
字数统计: 1k | 阅读时长 ≈ 3 分钟

joyee-zhou-1449764-unsplash.jpg

前言

踩着三月的尾巴,拜读完了 Bob 大叔的《代码整洁之道》一书,来分享一下阅读心得。(其实我也不知道看了几遍了)

《代码整洁之道》的原名是 Clean Code — A Handbook of Agile Software Craftsmanship.

就像书名一样,本书提出了一个观念:「代码质量与其整洁度成正比」;并且给出了一系列行之有效的代码整洁操作实践。(确实有手册的样子)

通过学习并遵守这些实践建议就能写出整洁的代码。

阅读全文 »

Pandora 的魔盒里装了什么?

发表于 2019-03-12 | 更新于: 2019-03-28 | 分类于 Android | 阅读次数:
字数统计: 575 | 阅读时长 ≈ 2 分钟

preston-goff-686707-unsplash.jpg

文章可能会过时,最新信息请查阅 Github
Github 地址 : https://github.com/AlanCheen/Pandora

在古希腊的神话中 Pandora 是世界上第一个女人,一个 all-gifted 的女人(具有一切天赋的女人),而潘多拉的魔盒里装着希望。

借着 all-gifted 的寓意,我创建了一个开源库 Pandora,一个非常常用的工具类的集合。

虽然算是 Utils 的集合,但是跟其他的库并不同,这里的类&方法的数量非常少,我只选了极少数我觉得真的非常有用且有大概率复用的类,在保证避免编写大量样板代码的基础之上,减少引入不必要类的可能,防止包体积增大。。

所以也可以算是一个『Utils 心选』。

那么就介绍一下 Pandora 的能力啦。

阅读全文 »

一文看穿 Handler

发表于 2019-02-18 | 更新于: 2019-02-19 | 分类于 Android | 阅读次数:
字数统计: 3.5k | 阅读时长 ≈ 14 分钟

0. 前言

做 Android 开发肯定离不开跟 Handler 打交道,它通常被我们用来做主线程与子线程之间的通信工具,而 Handler 作为 Android 中消息机制的重要一员也确实给我们的开发带来了极大的便利。

可以说只要有异步线程与主线程通信的地方就一定会有 Handler。

那么,Handler 的通信机制的背后的原理是什么?

本文带你揭晓。

阅读全文 »
12…15
程序亦非猿

程序亦非猿

阿里/Android/前端/奶爸。

144 日志
12 分类
101 标签
GitHub
0%
© 2015 — 2021 程序亦非猿 | Site words total count: 122.6k
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
人次 次