Happy Blog

不做下一个谁,只做第一个我。

LeakCanary内存优化学习

内存检测工具学习

Android常见的内存泄漏 单例造成的内存泄漏 单例错误写法 public class SingletonActivityContext { private static SingletonActivityContext instance; private Context context; private SingletonActivityContext(Contex...

Android定时任务学习

Timer与Handler区别


LiveData学习

Android开发文档翻译

LiveData是一个持有observable data的类。与常规的observable不同,LiveData是生命周期可感知的,这意味着LiveData会关注qitaapp组件(比如activities和fragments和services)的生命周期。LiveData只会在active的生命周期阶段中更新app组件的观察者们。 注意:为了引入LiveData组件到你的Andro...

用能感知生命周期的组件处理生命周期

Android开发文档翻译

生命周期感知的组件会响应另一个组件的生命周期状态的变化而执行动作,比如activity和fragment。 这些组件帮助你生产了更好管理的和轻量级代码,并且更易于维护。 一个常见的模式是在activity和fragment的生命周期方法中实现依赖组件的相关操作。然而,这个模式导致了到吗不易管理,并且容易产生错误。通过使用生命周期感知的组件,你可以将依赖组建代码移出生命周期方法,并且移入到它...

Binding adapters学习

Android开发文档翻译

绑定适配器会负责的调用合适的framework回调方法去设值值。一个例子是调用setText()方法去设值一个属性值。另一个例子是调用setOnClickListener()方法去设值一个事件监听器。 数据绑定库允许你指定调用方法来设置一个值,提供你自己的绑定逻辑,并使用适配器指定的返回对象的类型。 设值属性值 无论何时一个绑定数据改变了,生成的绑定类必须通过绑定表达式调用view上的...

绑定布局视图与架构组件

Android开发文档翻译

AndroidX库包含了架构组件,你可以用它设计出鲁棒的,可测试的和可维护的app。数据绑定库与架构组件无缝协作,以进一步简化UI的开发。在你的app布局文件中能绑定架构组件的数据,它已经帮助你管理UI controllers的生命周期和在数据改变时通知UI controllers。 这篇文章展示了如何将架构组件合并到你的应用程序中,以进一步增强使用数据绑定库的好处。 使用LiveDat...

observable data objects学习

Android开发文档翻译

Observability是一种能让一个被观察的对象当它内部数据改变时通知其他观察者的能力。这个数据绑定库允许你创建可观察对象,字段或集合。 虽然任何普通的对象能被数据绑定使用,但是更改对象并不能自动地创建或更新UI。数据绑定能赋予你的数据对象一种能力,一种当它数据改变时,像一个监听器一样通知其它被观察者。这里有三个不同类型的classes:objects,field,和collectio...

Generated binding classes学习

Android开发文档翻译

Data Binding Library生成用于访问布局文件中的variable和views的绑定类。这篇文字主要讲怎样创建和自定义生成绑定类。 生成的绑定类连接了布局文件中的layout variables和views。绑定类的名字和包名可以自定义。所有的绑定类都继承于ViewDataBinding类。 每个布局文件会生成一个绑定类。默认情况下,绑定类的名字是基于布局文件的名字的。如果...

Data Binding Library

Android开发文档学习

Data Binding Library是一个support library,它允许您将布局中的UI组件绑定到应用程序中的数据源,而不是通过编程方式。 布局通常是在activities中调用UI framework的方法进行编码的。例如,通过调用findViewById()方法去找到一个TextView控件,并且将viewModel变量的userName属性与这个控件进行绑定: Text...

ViewModel概述

翻译Android开发文档

ViewModel类是用来以一种生命周期方式存储和管理在UI相关数据。ViewModel类允许在发生改变时(比如屏幕旋转)保留数据。 注意:如果你想引入ViewModel在你的Android Project中,请参见adding components to your project Android framework管理UI controllers的生命周期,比如activiti...