资讯专栏INFORMATION COLUMN

Android-保你能记住的生命周期教程

Profeel / 2486人阅读

摘要:网上很多人说弹出时只会调用而不会调用,其实是错误的说法,原因是必须使离开前台才会调用,也即是退出栈顶。但是并不会使离开栈顶。

原文:http://tryenough.com/android-...

先看一下官方给出的图:

总结一下上图

主要的回调方法包括:

onCreate 、onStart 、onResume 、onPause 、onStop 、onDestroy 、onRestart

原文:http://tryenough.com/android-...

给出一张方便记忆的图:

这些方法都是两两对应的:

1.onCreate创建与onDestroy销毁;
2.onStart可见与onStop不可见;
3.onResume可编辑(即焦点)与onPause;
4.onRestart:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。

保存数据必须在onPause方法中进行

原文:http://tryenough.com/android-...

通过滑动卡片删除应用杀死进程的时候,或者通过应用管理杀死进程的时候,只有栈里面的第一个没有销毁的activity执行ondestroy方法,一般都是mainActivity,其它activity均不执行ondestroy。

Android什么时候只会调用onPause()而不会调用onStop()?

原文:http://tryenough.com/android-...

onPause是失去焦点,onStop是不可见时调用,只要Activity失去了焦点还可见就会只调用onPause不调用onStop,常见是translucent(半透明) activity挡住当前Activity。

网上很多人说弹出Dialog时只会调用onPause()而不会调用onStop(),其实是错误的说法,原因是必须使Activity离开前台才会调用onPause,也即是退出栈顶。但是Dialog并不会使Activity离开栈顶。所以答案应该是此时既不会调用onPause()也不会调用onStop()。

onStop不调用的场景

我们知道,Activity A打开B,流程是这样的:

onCreateA - onStartA - onResumeA - onPauseA - onCreateB - onStartB - onResumeB - onStopA

然后按返回到A的流程是这样的:

onPauseB - onStartA - onResumeA - onStopB - onDestoryB

但是如果在B打开的生命周期方法onResume中直接finish当前的B,那么此时返回到A的流程就会缺少onStartA。原因是因为此时对于系统来说A一直是可见的。

onPauseB - onResumeA - onStopB - onDestoryB
原文:http://tryenough.com/android-...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14793.html

相关文章

  • Android 碎片 Fragment

    摘要:包含一些相同的回调函数,比如和。事实上,如果你覆盖一个已有的应用来使用,你只用简单的移动对应的代码到对应的回调函数中。要使用一个的布局文件,你必须实现回调函数,根布局。 Android Fragment 解决手机上不同分辨率UI差异变化的问题 标签: android 教程 中文文档 一个Fragment看起来就是一个和Activity一样的用户界面。你可以结合多个Fragments到...

    不知名网友 评论0 收藏0
  • 在我写我第一个Android App时,我希望我能知道6件事

    摘要:它是一个如果当这个传递到它的构造函数里,持有这个的引用,那这个将仍然不会被回收除非这个静态变量被重新赋值给另一个。这是因为是静态的,静态变量的内存是不会被回收的,直到程序里正在运行的进程停止。 更多android相关文章http://www.codefrom.com/p/Android 我的第一个app是糟糕的。实际上,它太糟糕了,所以我把它从商店中移除,我甚至不再因我把它列...

    young.li 评论0 收藏0
  • Android application使用总结

    摘要:实例类型全局类型不同组件获得的实例是同一个实例。生命周期的生命周期等于这个应用的生命周期。是在最后一个后台进程被杀时调用,一般情况是杀进程后触发而的触发更频繁,每次计算进程优先级时,只要满足条件,都会触发。简介:   Application和Activity、Service一样,都是Android框架的一个系统组件,每一个应用都有一个Application,Application的生命周期也...

    Lucky_Boy 评论0 收藏0
  • 改造 Android 官方架构组件 ViewModel

    摘要:前言官方架构组件在今年月份大会上被公布直到月份一直都是测试版由于工作比较繁忙期间我只是看过类似的文章但没有在实际项目中使用过更没有看过源码所以对这几个组件的使用很是生疏同时也觉得这几个组件非常高大上非常神秘直到月份官方架构组件正式版发布并且 前言 Android 官方架构组件在今年 5 月份 Google I/O 大会上被公布, 直到 11 月份一直都是测试版, 由于工作比较繁忙, 期...

    DevTTL 评论0 收藏0
  • 改造 Android 官方架构组件 ViewModel

    摘要:原文地址前言官方架构组件在今年月份大会上被公布直到月份一直都是测试版由于工作比较繁忙期间我只是看过类似的文章但没有在实际项目中使用过更没有看过源码所以对这几个组件的使用很是生疏同时也觉得这几个组件非常高大上非常神秘直到月份官方架构组件正式版 原文地址: http://www.jianshu.com/p/963a... 前言 Android 官方架构组件在今年 5 月份 Google I...

    yzzz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<