概述前面我们讲过了lifecycle的使用及原理。今天我们谈谈viewModel。原本使用和原理是准备分开写的,结果我看了下ViewModel的原理,很简单,所以决定把两者放在一起了。那么接下来,我们进入正题。ViewModel是什么?ViewModel旨在以注重生命周期的方式存储和管理界面相关的数据。我们知道当屏幕旋转时,Activity会销毁并且重建,而它让数据可在发生屏幕旋转等配置更改后继续
转载 2024-02-21 23:38:56
396阅读
背景一转眼,从一开始发布文章说带大家封装Adapter直到现在,过去半个月了吧,前后又仔细阅读了很多Adapter的框架源码,对Adapter的千变万化算是有了深刻的认识,真的是温故而知新,借着这次机会,我也将学到的这些优点一一的列出来告诉你,跟我一起重新认识Adapter值得一看的Adapter开源项目这些开源项目都有哪些相同点?这几个项目最大的共同点是都对DataBinding做了扩展,看来D
# Android View获取LifecycleOwner深入解析 在Android开发中,`LifecycleOwner` 是一个非常重要的接口。它的作用是提供当前组件的生命周期状态,并能与观察者模式(如LiveData)配合使用,使得UI组件能够有效地响应生命周期变化。本文将会详细介绍在Android View中如何获取`LifecycleOwner`,并附带代码示例以及状态图和旅行图。
原创 10月前
634阅读
# Android LifecycleOwner 获取方案 在 Android 开发中,LifecycleOwner 是一种关键的组件,用于管理 Activity 和 Fragment 的生命周期。理解如何获取和使用 LifecycleOwner 对于处理 UI 组件的生命周期管理至关重要。尤其是在使用 Jetpack 组件(如 LiveData 和 ViewModel)时,LifecycleO
原创 2024-10-03 05:57:00
529阅读
1、原理解析1.1 从注册观察者的入口方法开始1.1.1 LifecycleOwner/** * 接口,用来获取Lifecycle对象 */ public interface LifecycleOwner { @NonNull Lifecycle getLifecycle(); }1.1.2 ComponentActivity、androidx包中的Fragment自身实现了L
转载 2023-09-17 13:53:45
480阅读
Lifecycle 是用来管理和响应activity和Fragment生命周期的变化。我们通常在Activity和Fragment中生命周期方法中进行一些繁重操作,帮我们可以将这些生命周期的方法使用Lifecycle进行管理。它可以自动整合Activity和Fragment生命周期的状态。添加依赖:1.在project下的build.gradle中添加Maven仓库allprojects {
转载 2024-10-19 15:30:02
171阅读
LiveData其实就是通过管理生命周期来实现当视图不可见时不渲染数据,当视图可见时再渲染数据.当在一个Activity发送一个网络请求后,立马切到另一个界面或都按下Home键,使得视图不可见..这个时候网络请求还在进行,当网络请求完成后,会判断这个界面是活跃状态还是不活跃状态,如果是不活跃状态则把数据保存在一个缓存集合里面,当这个视图可见时,就会回调其onStart方法,这里我们就可以监听到,然
转载 2023-12-14 11:58:24
131阅读
1、Fragment是什么  Fragment(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛。虽然碎片对你来说应该是个全新的概念,但我相信你学习起来应该毫不费力,因为它和活动实在是太像了,同样都能包含布局,同样都有自己的生命周期。你甚至可以将碎片理解成一个迷你型的活动,虽然这个迷你型的活动有可能和普通的活动是一样大的。
转载 2024-06-07 06:29:11
82阅读
RecyclerView的基本操作我也不晓得为何第一个GIF花屏了,我用AS的AVD录屏的,播放完好,觉得是CS/DN的锅列表展示消息列表RecyclerView的使用RecyclerView通过LinearLayoutManager和Adapter来管理布局和适配View中的每一个子项大致分为五个步骤添加RecyclerView支持在app目录下的build.gradle的dependencie
转载 10月前
19阅读
# Android LifecycleOwner接口使用 在Android开发中,应用程序的组件(如Activity和Fragment)所处的状态会影响其生命周期。这就需要一个机制来管理这些状态。为此,Android提供了`Lifecycle`库,其中`LifecycleOwner`接口是一个重要的组成部分。本文将介绍`LifecycleOwner`接口的基本概念、使用方法,并通过代码示例来演示
原创 8月前
187阅读
上一节讲到了Gallery画廊,本节主要讲解Android组件Service,主要内容包括:Service的概念、生命周期及其应用实例。一、Service简介Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件。二、Service的生命周期Service对象不能自己启动,需要通过某个Activity、Ser
AudioPolicyService是负责音频策略的制定,AudioFlinger负责音频策略的具体执行,两个模块各司其职。1.AudioPolicyService对于应用开发者来说,需要播放音频的时候只会去创建个AudioTrack去实现,其中的参数有主要的streamType、sampleRate、format等,还有的默认就不会设置参数,他不会去关心你当前设备的具体音频播放模块是什么样的,是
# Android Activity如何实现LifecycleOwner ## 引言 在Android中,Activity是一种用户界面的组件,用于展示用户界面,并接收用户的交互操作。一个Activity的生命周期包括创建、启动、暂停、恢复、停止和销毁等各个阶段。为了更好地管理Activity的生命周期,Android提供了一些生命周期方法供开发者使用。然而,对于一些需要更细粒度的生命周期管理或
原创 2023-10-16 08:18:27
596阅读
Lifecycle是什么Lifecycle可以有效的避免内存泄漏和解决android生命周期的常见难题Livecycle 是一个表示android生命周期及状态的对象LivecycleOwner 用于连接有生命周期的对象,如activity,fragmentLivecycleObserver 用于观察查LifecycleOwnerLifecycle框架使用观察者模式实现观察者监听被观察者的生命周期
## Android自定义View LifecycleOwner的实现步骤 为了实现Android自定义View的LifecycleOwner,我们需要遵循以下步骤: | 步骤 | 说明 | | --- | --- | | 1. 创建自定义View | 创建一个继承自View的类,该类将作为我们自定义的View | | 2. 实现LifecycleOwner接口 | 让自定义View实现Lif
原创 2023-12-06 13:27:30
758阅读
        在我们通常开发的应用程序中,不可避免的会出现crash现象,特别是当应用程序已经上线之后,这些crash异常信息我们通常是很难捕捉到的,如果我们不能对这些异常信息做及时的收集并且修复的话,势必会带来用户体验度的下降,为此,Android的Thread类中为我们提供了setDefaultUncaughtExcept
# Android获取全局attr 在Android开发中,我们经常需要使用全局属性(Global Attribute)来定制主题、样式等。全局属性是一种通用的资源,在整个应用中都可以使用。但是有时候我们可能会遇到一些困惑,不知道如何获取全局属性。本文将介绍如何在Android获取全局属性,以及使用全局属性来定制样式。 ## 什么是全局属性 在Android中,全局属性是一种可以在整个应用
原创 2024-05-26 05:10:38
50阅读
# Android 获取全局Context的实现方法 作为一名经验丰富的开发者,我将教会你如何在Android获取全局Context。在开始之前,我们先来了解一下整个流程。 ## 流程概览 下面是获取全局Context的流程概览: | 步骤 | 描述 | | ---- | ---- | | 步骤1 | 在Application类中创建一个全局变量来保存Context | | 步骤2 |
原创 2023-11-23 08:51:56
270阅读
# Android 获取全局Context 在Android开发中,获取全局Context是一项常见的任务。Context是Android中的一个关键概念,代表了当前应用环境的一些信息和功能。通过Context,我们可以访问应用资源、启动新的Activity、创建View等等。在某些情况下,我们需要获取全局的Context,以便在任何地方使用。 本文将介绍如何在Android应用中获取全局C
原创 2023-09-19 21:39:56
292阅读
本文翻译自android官方文档,结合自己测试,整理如下。概述一个Activity是能够提供屏幕的应用程序组件,用户可以通过该屏幕和程序进行交互。每个activity都被赋予一个窗口用于绘画用户接口,该窗口通常来说会覆盖整个屏幕,但是有时也会比屏幕小,显示在其它窗口的上面。一个程序通常有多个activities构成,而且需要一个mainavtivity作为程序的入口当用户第一次启动该程序时。每一个
转载 2023-09-21 22:44:21
305阅读
  • 1
  • 2
  • 3
  • 4
  • 5