Android AAC学习(一)-程序员宅基地

技术标签: AAC  LiveData  android  Lifecycle  ViewModel  Android  

什么是AAC?

Google官方DEMO
即Android Architecture Components,谷歌在Google I/O 2017上发布的帮助开发者构建易于维护测试/健壮的架构设计方案。它的核心应该是基于观察者模式的,其主要的两大内容就是:

  1. 生命周期相关的 Lifecycle-aware Components(生命周期感知组件)
  2. 数据库解决方案 Room

组件功能:处理数据持久化和管理生命周期(生命周期感知组件执行操作以响应另一个组件(例如活动和片段)的生命周期状态的更改),能够有效的避免内存泄漏等问题。

主要架构图如下:
在这里插入图片描述

如何使用AAC相关组件:
app.gradlew中添加依赖LiveData以及ViewModel

dependencies {
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    annotationProcessor 'android.arch.lifecycle:compiler:1.1.1'
}

时间有限,本篇主要讲解

Lifecycle管理生命周期

Lifecycle 介绍:

Lifecycle 组件指的是 android.arch.lifecycle 包下提供的各种类与接口,可以让开发者构建能感知其他组件(主要指Activity 、Fragment)生命周期(lifecycle-aware)的类。

基本的使用流程:

  1. 让需要监听Activity/Fragment的类实现LifecycleObserver接口
  2. 在相关生命周期方法中做出的动作封装成方法并且加上对应生命周期的注解,形成映射
  3. 被监听的Activity/Fragment实现LifecycleOwner接口,实例化监听类,最后注册监听

监听类: 其中各个注解对应的就是被监听Ac/Fg的生命周期方法

package com.wdl.aac;

import android.arch.lifecycle.Lifecycle;
import android.arch.lifecycle.LifecycleObserver;
import android.arch.lifecycle.OnLifecycleEvent;

/**
 * 创建时间: 2019/3/22 11:35
 * 描述:    Activity生命周期的管理类,与实现了LifecycleOwner接口的Ac/Fg等建立映射关系。有效避免内存泄漏
 *          对外界提供一个接口,管理生命周期使得生命周期从Activity/Fg解耦出来
 */
@SuppressWarnings("unused")
public class ActivityLifeObserver implements LifecycleObserver {

    private static final String TAG = Activ
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34341338/article/details/88740729

智能推荐

JavaScript 图片时间效果_js时间图片-程序员宅基地

文章浏览阅读484次。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>pic timer</title></head><body><!-- 图片路径改成自己的路径 --><img src="../images/0.png" id="h_pic1"><img src="../images._js时间图片

html的基础知识-程序员宅基地

文章浏览阅读333次。html: html的骨架:<!DOCTYPE html><html> <!--head标签:文档的头部--> <head> <!--title标签:文档的标题--> <title></title> </head>...

在 Pytorch 中实现超参的 random search_torch 自动超参搜索-程序员宅基地

文章浏览阅读1w次,点赞35次,收藏102次。在 pytorch 中实现超参的随机搜索 random search_torch 自动超参搜索

java面试题笔试题,这样准备面试定能轻松斩获offer,阿里内部资料-程序员宅基地

文章浏览阅读956次,点赞19次,收藏15次。在准备好简历之后,应该做些相关面试准备。首先,是笔试题,这点是初级程序员绕不过去的坎。首先,基础相关面试题要做好。。一些比较常见出现的问题,顺便列举下。由于篇幅过长的原因,为了不影响大家的阅读效果,文中没有给到面试题的答案。我这里以文件的形式整理好了(不局限于以下题目噢,文末会有资料截图),需要借阅的程序员朋友可以**关注+转发+私信【资料】**找我领取========JDK、JRE、JVM关系是什么Java支持的数据类型有哪些?什么是自动拆装箱面向对象是什么TCP/IP、HTTP协议。

Windows 中realtek hd audio univer可以禁用吗_realtek hd audio universal service可以开机禁用吗-程序员宅基地

文章浏览阅读137次。realtek hd audio univer不可以禁用。因realtek hd audio是声卡方面的启动项。,如果禁用可能导致电脑无法正常使用声卡,还可能导致电脑没有声音或者其他软件、音乐、视频的声音播放异常。_realtek hd audio universal service可以开机禁用吗

mysql分区和分表哪个好_孕妇护肤品成分禁用表,6款热卖品牌排行,孕妇沐浴露哪个好?...-程序员宅基地

文章浏览阅读290次。女性怀孕的时候,新陈代谢会加快,皮肤的排泄机能加强,水分和废料的排出量增加了,必须要依靠“沐浴露的清洁力”保持皮肤的清洁。反之如果不能有效清洁就容易滋生细菌与病菌。进而影响到孕妈的皮肤健康,所以日常的洗浴卫生问题一定得特别注意!那么,孕妇接着用传统的沐浴露可以吗?不少孕妈妈心中打起了大大的问号。事实是目前市场上普通的沐浴露普遍是化学合成洗涤剂,而且含有矿物油、重金属、色素、精油等成分。若孕妈妈使用...

随便推点

AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation Framework-程序员宅基地

文章浏览阅读556次。本技术报告介绍了一种新的框架AutoGen,它可以使用多个代理来开发LLM应用程序,这些代理可以相互对话以解决任务。AutoGen代理是可定制的、可对话的,并且无缝地允许人类参与。它们可以在各种模式下运行,这些模式采用LLM、人工输入和工具的组合。AutoGen的设计提供了多种优势:a)它优雅地驾驭了这些LLM强大但不完美的生成和推理能力;b) 它利用人类的理解和智慧,同时通过代理之间的对话提供有价值的自动化;c) 它简化并统一了作为自动化代理聊天的复杂LLM工作流的实现。_autogen: enabling next-gen llm applications via multi-agent conversation

C语言实现文件字符替换_文件中的字符替换代码c-程序员宅基地

文章浏览阅读5.7k次,点赞4次,收藏8次。C语言标准路为我们提供了文件操作函数:包含:fopen()/fclose() //文件打开与关闭函数;(参数与返回类型省略) fgetc()/fputc() //从流中获取字符,向文件流中写入字符; getc()/putc() //与fgetc()/fputc()等价,不同_文件中的字符替换代码c

pandas datetime数据类型_parse_dates=['timestamp']是什么类型-程序员宅基地

文章浏览阅读2.6k次。datetime 数据类型学习目标应用Pandas来处理日期时间类型数据1 Python的datetime对象Python内置了datetime对象,可以在datetime库中找到from datetime import datetimenow = datetime.now()now显示结果:datetime.datetime(2020, 6, 17, 19, 47, 56, 965416)还可以手动创建datetimet1 = datetime.now()t2 _parse_dates=['timestamp']是什么类型

Handler总结常用方法及常见问题_handler常见方法-程序员宅基地

文章浏览阅读1k次。先庆祝一下终于放假啦,要升大三啦,痛苦的期末考试过去啦。。。。。 一、handler可以发送Message对象和Runnable对象到线程中, 每个Handler实例,都会绑定到创建他的线程中(一般是位于主线程), Handler中分发消息的一些方法 post(Runnable) postAtTime(Runnable,long) postDelayed(Runnab_handler常见方法

ubuntu20.04 安装pcl Vtk步骤和ERROR等问题_ubuntu安装vtk和pcl-程序员宅基地

文章浏览阅读405次,点赞8次,收藏9次。但是安装完还是有问题,是因为上面安装qt少安了一个叫X11EXtra的库,然后再configure,就可以了。1.ERROR CONFIG:因为要安装qt5;_ubuntu安装vtk和pcl

黑马程序员 – 开始报名! -- 2013.1.16_黑马程序员怎么报名-程序员宅基地

文章浏览阅读338次。----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------复习完正则表达式,终于要开始走黑马报名的流程了,好激动!学过一遍反过来思索,有些知识点已经忘记了,这几天把毕老师的重点视频看了一遍,希望入学能顺利!2013年1月17日,终于把基础测试提交上去了,看过毕老师的视屏后,基础测试做起来不算吃力,加油!第六道测试题_黑马程序员怎么报名

推荐文章

热门文章

相关标签