fragment生命周期

Fragment生命周期函数调用(ViewPager切换方式)

╄→尐↘猪︶ㄣ 提交于 2019-11-30 02:46:43
在使用ViewPager时,Google亲爹为我们提供了多种PagerAdapter。其中,与Fragment相关的是FragmentPagerAdapter和FragmentStatePagerAdapter。对于它们的区别,网上有很多论述。在这里我们主要谈的是,在使用FragmentPagerAdapter时,Fragment生命周期方法的调用时机。 1、Activity 1 public class MainActivity extends AppCompatActivity { 2 private ViewPager vpContent; 3 private Fragment[] fragments = new Fragment[4]; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main); 9 10 vpContent = (ViewPager) findViewById(R.id.vp_content); 11 fragments[0] = new Fragment1(); 12 fragments[1] = new

Fragment生命周期及add、replace、remove、hide&show方法分析

[亡魂溺海] 提交于 2019-11-30 02:06:55
转载自https://blog.csdn.net/u014699958/article/details/52996143 项目有一个Activity类和3个Fragment类。Activity 中放置3个按钮(实质TextView)可以切换到不同的Fragment上。下面将给出Activity 和Fragment的代码和layout。 1-1 Fragment1 public class Fragment1 extends Fragment { final String TAG = " test Fragment1"; public Fragment1() { // Required empty public constructor } @Override public void onAttach(Context context) { super.onAttach(context); Log.d(TAG,"onAttach"); } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(TAG,"onCreate"); } @Override public View onCreateView

Android jetpack总结

强颜欢笑 提交于 2019-11-29 06:48:53
背景 在Android开发中经常面临的问题: (1)在应用程序(Activity、Fragment)的生命周期管理困难,尤其是Fragment的跳转带来的生命周期管理问题。 (2)在Activity需要重新创建的时候,界面控制器(View层)中存储的数据丢失,需要重新初始化,影响用户体验。 (3)Android的异步操作(DB,NetWork)时,在界面控制器(View层)被销毁后,界面控制器需要结束和任务的订阅关系,避免内存泄漏和不必要的信息回调。 (4)Android的后台服务和任务愈发困难。主要是由于Android系统的DOZE省电模式,以及后来对于后台任务和服务的限制。 (5)用户偏好设置和网络请求数据的本地存储问题。 针对以上问题,Google推出Android Jetpack框架来解决以上问题。Jetpack主要分为4个部分(下图): 基础、架构、行为、界面 。 同时Google也推出 AndroidX 库,AndroidX 是对support library的重大改进。在AndroidX中将所有软件包名都以字符串**androidx.**开头,位于一致的命名空间中。 使用Android Jetpack组件的优势: (1)Lifecycles轻松管理应用程序的生命周期。 (2)LiveData构建可观察的数据对象,以便在基础数据更改时通知视图。 (3

Android lifecyle 源码解剖 - gdutxiaoxu的博客(微信公众号 stormjun94)

一曲冷凌霜 提交于 2019-11-27 15:05:58
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/gdutxiaoxu/article/details/86660766 说在前面 本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation, Paging library,Room,WorkMannager 等春节结束之后会更新,欢迎关注我的公众号,有更新的话会第一时间会在公众号上面通知。 Android lifecycle 使用详解 Android LiveData 使用详解 Android lifecyle 源码解剖 Android livedata 源码解剖 github sample 地址: ArchiteComponentsSample Android 技术人,一位不羁的码农。 前言 前两篇博客,我们已经讲解了 lifecycle ,liveData, ViewModel 的使用,这一篇博客,让我们一起来看一下 lifecycle 的原理。 从自定义的 lifecycle 说起 首先我们先来复习一下,如果要自定义 lifecycle,我们要这样做。 public class

Android Architecture Components--项目实战

荒凉一梦 提交于 2019-11-26 18:21:57
转载请注明出处,谢谢! 上个月 Google Android Architecture Components 1.0稳定版发布,抽工作间隙写了个demo,仅供参考 Github地址: https://github.com/AllenWen/android-iWeather 1、亮点 一是生命周期管理---Lifecycles,各类组件的引用与周期绑定,从而有效避免内存泄漏; 二是LiveData,数据流中的主角,作用类似于Rx的Observer; 三是推出全新数据库ORM框架---Room,当然也是生命周期安全的,修改即时生效; 四是一个叫Paging的库,用作分页处理,本项目没用到。 2、概述 看图知道,当然是一个MVVM框架了,Acitivity/Fragment 是View ,ViewModel充当VM,由本地数据库和网络数据组成的仓库(Repository)就是Model, Acitivity/Fragment可以实现 LifecycleOwner接口,注册 LifecycleObserver从而实现生命周期管理, LiveData充当单向数据流中的数据,与生命周期绑定 3、项目 借助一个免费天气api, 心知天气 ,写了个极简风格的天气应用,就不贴图了,详情见Github 转载于:https://www.cnblogs.com/AllenWen/p/8000592