Android架构组件之LiveData

基本概念

LiveData是一个可以被观察的数据持有类,它可以感知并遵循Activity、Fragment或Service等组件的生命周期。正是由于LiveData对组件生命周期可感知特点,因此可以做到仅在组件处于生命周期的激活状态时才更新UI数据。

阅读更多

Android架构组件之ViewModel

ViewModel概念及用途

ViewModel用来存储和管理UI相关的数据,可于将一个Activity或Fragment组件相关的数据逻辑抽象出来,并能适配组件的生命周期,如当屏幕旋转Activity重建后,ViewModel中的数据依然有效。

阅读更多

理解Java动态代理

概念理解

动态代理类就是在运行时创建的实现了一系列特定接口的类。

阅读更多

Javac编译过程笔记

Javac前端编译简述

这里不讨论JIT编译、AOT编译,本文提到的编译过程仅仅指把.java文件转变为.class文件的过程,这个过程是我们最常见的,通常由Javac编译器来完成。

阅读更多

Android Choreographer

引言

之前其实并未关注过Choreographer,在一次调试App demo的过程中,偶然发现出现了一条这样的日志:

阅读更多

LocalBroadcastManager原理分析及应用

引言

Android页面或模块之间通信的方法有很多,如Intent传值、startActivityForResult、EventBus(RxBus)等,大家追求的无非是解耦以及高灵活性;我们自己的应用中使用了基于Android消息机制封装的一套通信体系,且不谈这些,今天的主角是本地广播。

阅读更多

Java对象创建、内存分配、访问定位概述

对象创建与内存分配

Java中创建对象并为其分配内存的过程如下:

阅读更多

Hybrid框架之交互通信篇

前言

虽然有些应用在使用React Native或Weex开发,但综合来看,业内还是以混合开发模式为主,从我们自家的App来看,H5业务所占比重越来越高,目前大概占到35%左右,因此一套好的Hybrid开发框架必不可少。

阅读更多

Android应用快捷方式

有的App会给用户提供快捷方式,8.0之前我们多是通过发送com.android.launcher.action.INSTALL_SHORTCUT 广播的方式来实现。但在8.0的系统行为变更中指出,该广播变为私有的隐式广播,因此原来创建快捷方式的方法在8.0的系统上将不再有效,官方推荐我们使用ShortcutManager来创建应用快捷方式。

阅读更多

Android架构组件

这篇架构指南面向有一定Android开发基础并想了解高质量、高稳定性App最佳实践及推荐架构的开发者。

阅读更多