惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
L
LangChain Blog
GbyAI
GbyAI
F
Fortinet All Blogs
腾讯CDC
Last Week in AI
Last Week in AI
A
About on SuperTechFans
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
B
Blog
D
Docker
G
Google Developers Blog
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed

博客园 - 晓光

Android获取手机短信 Android系统的进程,任务,服务的信息 Android程序如何安装到内存或卡中 (转)解决Debug certificate expired的问题 (转)Android ViewGroup的onInterceptTouchEvent()事件分析 (转)禁止横屏和竖屏切换 (转)Android Bitmap 与 Drawable之间的转换 (转)Android中两种设置全屏的方法 (转)Android之getSystemService (转)SQL Server Compact Edition 数据库连接字符串 (转)Android Project Structure (转)SqlDateTime溢出类错误解决 C# 数据库连接字符串集合 - 晓光 - 博客园 Flex HttpService,WebService简单介绍 (转)Flex Module通信(2)——使用事件 (转)Flex Modules通信(1)——通过接口 (转)Canvas不能接收 rollOver和roolOut事件的解决方案 - 晓光 - 博客园 (转)FLEX中使用outerDocument - 晓光 - 博客园 (转)C# Hashtable Synchronized vs SyncRoot
Android Activity生命周期
晓光 · 2010-12-05 · via 博客园 - 晓光

Activity主要有三个状态:

        当在屏幕前台时(位于当前任务堆栈的顶部),它是活跃或运行的状态。它就是相应用户操作的Activity。

        当它失去焦点但仍然对用户可见时,它处于暂停状态。即:在它之上有另外一个Activity。这个Activity也许是透明的,或者未能完全遮蔽全屏,所以被暂停的Activity仍对用户可见。暂停的Activity仍然是存活状态(它保留着所有的状态和成员信息并连接至窗口管理器),但当系统处于极低内存的情况下,仍然可以杀死这个Activity。

        如果它完全被另一个Activity覆盖时,它处于停止状态。它仍然保留所有的状态和成员信息。然而它不再为用户可见,所以它的窗口将被隐藏,如果其他地方需要内存,则系统经常会杀死这个Activity。

Activity生命周期图

Activity的生命周期是由这七个方法来实现的

  public class Activity extends ApplicationContext {
         protected void onCreate(Bundle savedInstanceState);
 
         protected void onStart();
     
         protected void onRestart();
 
         protected void onResume();
 
         protected void onPause();
 
         protected void onStop();
 
         protected void onDestroy();
  }

        完整的生命周期自第一次调用onCreate()开始,直到调用onDestroy()为止。

        Activity在onCreate()中设置所有的“全局”状态以完成初始化,并创建线程。Activity在onDestroy()销毁那个线程。

        可视生命周期自onStart()调用开始直到相应的onStop()调用结束。在此期间,用户可以在屏幕上看到此Activity,尽管它也许并不是位于前台或者正在与用户做交互。

        前台生命周期自onResume()调用起,至相应的onPause()调用为止。在此期间,Activity位于前台最上面并与用户进行交互。Activity会经常在暂停和恢复之间进行状态转换。onPause()是唯一一个在进程被杀死之前必然会调用的方法。onStop()和onDestroy()有可能不被执行,因此应该用onPause()来将所有持久性数据写入存储之中。