Android官方架构组件:Lifecycle详解&迪士尼彩乐园平台搭建原理分析

在过去的谷歌IO大会上,Google官方向我们推出了 Android Architecture Components,其中谈到Android组件处理生命周期的问题,向我们介绍了 Handling Lifecycles。

同时,如何利用 android.arch.lifecycle 包提供的类来控制数据、监听器等的 lifecycle。同时,LiveData 与 ViewModel 的 lifecycle 也依赖于 Lifecycle 框架。

经过公司内部的技术交流小组的探讨后,不少小伙伴觉得这个框架本身尚未成熟(当时的 Android Architecture Components组件还处于Alpha版本),再加上本身并没有足够的说服力让我们抛弃RxJava+RxAndroid全家桶转身投奔LiveData ,而Room 这个数据库框架本身也有很多同样优秀的三方库可以替代,因此我渐渐把这个框架的学习计划搁置了。
Android官方架构组件:Lifecycle详解&原理分析
迪士尼彩乐园平台搭建,需要请搜索【大神源码论坛】dsluntan.com 客服企娥3393756370 V信17061863513,

不久前, Android Architecture Components 正式Release, Lifecycle也正式植入进了SupportActivity(AppCompatActivity的基类)和Fragment中,我觉得还是有必要去尝试学习google的这个框架,不管有没有用到,我相信其本身的设计思想也会对我有很大的帮助。

一、Lifecycle简介&基础使用
为什么要引进Lifecycle?
我们在处理Activity或者Fragment组件的生命周期相关时,不可避免会遇到这样的问题:

我们在Activity的onCreate()中初始化某些成员(比如MVP架构中的Presenter,或者AudioManager、MediaPlayer等),然后在onStop中对这些成员进行对应处理,在onDestroy中释放这些资源,这样导致我们的代码也许会像这样:

class MyPresenter{
public MyPresenter() {
}

void create() {
    //do something
}

void destroy() {
    //do something
}

}

class MyActivity extends AppCompatActivity {
private MyPresenter presenter;

public void onCreate(...) {
    presenter= new MyPresenter ();
    presenter.create();
}

public void onDestroy() {
    super.onDestroy();
    presenter.destory();
}

}
代码没有问题,关键问题是,实际生产环境中 ,这样的代码会非常复杂,你最终会有太多的类似调用并且会导致 onCreate() 和 onDestroy() 方法变的非常臃肿。

原文地址:http://blog.51cto.com/13968033/2174630

时间: 2024-11-11 15:09:41

Android官方架构组件:Lifecycle详解&迪士尼彩乐园平台搭建原理分析的相关文章

Android官方架构组件:Lifecycle详解&迪士尼彩乐园网站架设原理分析

我们先将重要的这些类挑选出来: LifecycleObserver接口( Lifecycle观察者):实现该接口的类,通过注解的方式,可以通过被LifecycleOwner类的addObserver(LifecycleObserver o)方法注册,被注册后,LifecycleObserver便可以观察到LifecycleOwner的生命周期事件. LifecycleOwner接口(Lifecycle持有者):实现该接口的类持有生命周期(Lifecycle对象),该接口的生命周期(Lifecyc

Android官方架构组件:Lifecycle详解&迪士尼彩乐园定制开发原理分析

Lifecycle 是一个类,它持有关于组件(如 Activity 或 Fragment)生命周期状态的信息,并且允许其他对象观察此状态. 我们只需要2步: 1.Prestener继承LifecycleObserver接口public interface IPresenter extends LifecycleObserver { @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onCreate(@NotNull LifecycleOwner

【迪士尼彩乐园】全套源码分享下载带急速赛车,后台带AB盘完美无错

[迪士尼彩乐园]全套源码分享下载带急速赛车,后台带AB盘完美无错 运行环境:php5.2+mysql 下载地址:http://fanshubbs.com/thread-245-1-1.html 源码类别:时时彩(彩票)现金网系统/两面盘 界面语言:简体中文 源码授权:无加密文件及认证授权,永久性可直接使用. 版本支持:PC/WAP网页版 编程语言:PHP 手机版独家对接的,完整无错! 此源码经过测试人员实测截图,保证100%和截图一致!!! 原文地址:https://www.cnblogs.co

【迪士尼彩乐园】全套源码分享下载带三个急速,后台带AB盘完美无错

[迪士尼彩乐园]全套源码分享下载带三个急速,后台带AB盘完美无错联系Q:2947702644 源码类别:时时系统/两面盘界面语言:简体中文源码授权:无加密文件及认证授权,永久性可直接使用.版本支持:PC/WAP网页版编程语言:PHP ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有

js的arguments迪士尼彩乐园菠菜网站源码开发到底是什么?

arguments的一些妙用1.利用arguments实现方法的重载 下面我们利用arguments对象来实现一个参数相加的函数,不论传入多少参数都行,将传入的参数相加后返回. function add() {var len = arguments.length,sum = 0;for(;len--;){sum += arguments[len];}return sum;} console.log( add(1,2,3) ); //6console.log( add(1,3) ); //4con

Android开发四大组件--Activity详解

Android开发四大组件--Activity详解 - Android开发教程 Android开发的四大组件在开发中应用中是必不可少的,下面就来详解下四大组件之一Activity,总结自网络.Activty的生命周期的也就是它所在进程的生命周期. 一个Activity的启动顺序: onCreate()——>onStart()——>onResume() 当另一个Activity启动时: 第一个Activity onPause()——>第二个Activity onCreate()——>

Android四大基本组件-Service详解

一.官方文档 Class Overview A Service is an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use. Each service c

Android官方架构组件介绍之ViewModel(三)

ViewModel 像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的.Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构.作为开发者,这些行为我们是无法干预的. 所以Activity或Fragment中的一些数据也会随着销毁而丢失,随着重构而重新生成.比如你的Activity中有个用户列表,当这个Activity重构的时候,新的Activity会重新获取用户列表.对于一些简

android官方侧滑菜单DrawerLayout详解

drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物.drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现). drawerLayout的使用很方便,使用drawerLayout的要点如下: 1.drawerLayout其实是