lifecycle-viewmodel-ktx
全部标签文章目录一、Activity遇到的问题二、视图View和数据模型Model三、ViewModel架构组件作用四、ViewModel代码示例1、ViewModel视图模型2、Activity组件3、UI布局文件4、运行效果五、ViewModel生命周期六、ViewModel使用注意事项一、Activity遇到的问题Activity遇到的问题:瞬态数据丢失:操作Activity时,如果屏幕自动旋转,当前Activity组件会执行销毁操作,并重新创建新的Activity组件,该操作会导致Activity的瞬态数据丢失;内存泄漏:在系统组件如Activity中,启动了一个线程,在线程中执行一系列操作,
文章目录一、Activity遇到的问题二、视图View和数据模型Model三、ViewModel架构组件作用四、ViewModel代码示例1、ViewModel视图模型2、Activity组件3、UI布局文件4、运行效果五、ViewModel生命周期六、ViewModel使用注意事项一、Activity遇到的问题Activity遇到的问题:瞬态数据丢失:操作Activity时,如果屏幕自动旋转,当前Activity组件会执行销毁操作,并重新创建新的Activity组件,该操作会导致Activity的瞬态数据丢失;内存泄漏:在系统组件如Activity中,启动了一个线程,在线程中执行一系列操作,
1、lifecycle的声明lifecycle:postStart:exec:command:["/bin/sh","-c","sleep100"]preStop:exec:command:["/bin/sh","-c","sleep100"]2、poststart容器创建后立即执行,主要用于资源部署、环境准备等2.1时序当前container创建后发送钩子命令发送后:pod是pending状态container是waiting状态执行完成后:执行成功:pod会变为running状态,这时会被分配IP执行失败:容器重启,如果poststart执行完之前container退出也会重启2.2com
1、lifecycle的声明lifecycle:postStart:exec:command:["/bin/sh","-c","sleep100"]preStop:exec:command:["/bin/sh","-c","sleep100"]2、poststart容器创建后立即执行,主要用于资源部署、环境准备等2.1时序当前container创建后发送钩子命令发送后:pod是pending状态container是waiting状态执行完成后:执行成功:pod会变为running状态,这时会被分配IP执行失败:容器重启,如果poststart执行完之前container退出也会重启2.2com
上文,我们首先一个简单的实际代码例子入手,开始说明lifecycle被引入的背景,进而我们使用lifecycle实现了简单的需求,本文,我们一起对Lifecycle的自我实现以及源码进行深入探索。1.自我实现Lifecycle框架还是三板斧,知道了怎么去用?那么用我们自己的知识体系,不妨先猜一下这个如何做的?用自己所学所想的已有知识,试着去实现这样的一个框架。然后再去看lifecycle的源码中的逻辑,是否如我们所想。首先梳理一下,有哪些技术难点或者要点要去解决?1)如何监听fragment、activity等生命周期呢?2)如何通知观察者,相应的生命周期事件呢?猜想实现的中心思想:.应该是基
上文,我们首先一个简单的实际代码例子入手,开始说明lifecycle被引入的背景,进而我们使用lifecycle实现了简单的需求,本文,我们一起对Lifecycle的自我实现以及源码进行深入探索。1.自我实现Lifecycle框架还是三板斧,知道了怎么去用?那么用我们自己的知识体系,不妨先猜一下这个如何做的?用自己所学所想的已有知识,试着去实现这样的一个框架。然后再去看lifecycle的源码中的逻辑,是否如我们所想。首先梳理一下,有哪些技术难点或者要点要去解决?1)如何监听fragment、activity等生命周期呢?2)如何通知观察者,相应的生命周期事件呢?猜想实现的中心思想:.应该是基
目录一、ViewModel的出生二、ViewModel的结束三、总结:我们通过ViewModel的生命周期来作为主线,讲解ViewModel、ViewModelProvider、ComponentActivity三者的关系。一、ViewModel的出生创建ViewModel,通过调用ViewModelProvider的get方法。mainViewModel=ViewModelProvider(this).get(MainViewModel::class.java)//ViewModelProvider.classpublicViewModelProvider(@NonNullViewModel
目录一、ViewModel的出生二、ViewModel的结束三、总结:我们通过ViewModel的生命周期来作为主线,讲解ViewModel、ViewModelProvider、ComponentActivity三者的关系。一、ViewModel的出生创建ViewModel,通过调用ViewModelProvider的get方法。mainViewModel=ViewModelProvider(this).get(MainViewModel::class.java)//ViewModelProvider.classpublicViewModelProvider(@NonNullViewModel
入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证二)(1).在用户管理着模块中,相比较菜单功能的代码还是比较多的,设计到用户的创建,修改,角色变更和密码重置,同时都集中在列表页中。上图中,原来的角色名显示的是一个RoleId,也要通过ViewModel的应用,显示成对应的中文名称。(2).在ViewModel模型的建立上,我建了多个,为了满足不同的需要,其实后期用AutoMapper会简单些,但是为了理解和演练ViewModel的特点,就多写几遍,熟悉后掌握。如下图在Models文件夹中,我将用户Manager归到了新建的Managers下,便于管理,分别建立了:Cha
入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证二)(1).在用户管理着模块中,相比较菜单功能的代码还是比较多的,设计到用户的创建,修改,角色变更和密码重置,同时都集中在列表页中。上图中,原来的角色名显示的是一个RoleId,也要通过ViewModel的应用,显示成对应的中文名称。(2).在ViewModel模型的建立上,我建了多个,为了满足不同的需要,其实后期用AutoMapper会简单些,但是为了理解和演练ViewModel的特点,就多写几遍,熟悉后掌握。如下图在Models文件夹中,我将用户Manager归到了新建的Managers下,便于管理,分别建立了:Cha