首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Activity入门—Activity生命周期及三种状态+案例

一.运行状态 当activity在最前端时,它是可见的,有焦点的,可以用来处理用户的常见的操作。如:点击,双击,长按事件等。系统最不愿回收的就是出于此种状态的活动,这会带来非常差的用户体验。...二.暂停状态 activity依然可见,但它不再拥有焦点,即用户对它的操作没有实际意义。 三.停止状态 activity完全不可见,但仍然保留着当前状态和成员信息。...; import android.os.Bundle; import android.util.Log; public class SecondActivity extends AppCompatActivity...2继续点击虚拟机的按钮,看到firstactivity调用了onpause方法暂停还是处于可见状态,此时,secondactivity经历前三个方法,完全可交互。...此时2已经把1完全覆盖住了,firstactivity变得不可见。 3这样就通过案例实现了生命周期部分方法的调用。可重复操作进行验证。

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

Android Activity详解(一)

在此之前,我们新建一个项目,代码非常简单,两个活动之间相互跳转(本来想做GIF图的,不会~~~~(>_<)~~~~) 主活动代码如下: public class MainActivity extends AppCompatActivity...1,点击应用,进入MainActivity I/MainActivity--->: onCreate(创建) I/MainActivity--->: onStart(开启,逻辑层面的可见状态) I/MainActivity...I/SecondActivity--->: onCreate(SecondActivity创建) I/SecondActivity--->: onStart(SecondActivity开启,逻辑层面的可见状态...) I/MainActivity--->: onStart I/MainActivity--->: onResume I/SecondActivity--->: onStop(SecondActivity...页面停止) I/SecondActivity--->: onDestroy(SecondActivity页面被销毁) SecondActivity页面停止容易理解,但是SecondActivity页面被销毁是怎么回事呢

90210

探究活动Activity(2)界面跳转及生命周期

onStart() 这个方法在活动有不可见变为可见的时候调用。 onResume() 这个方法在活动准备好和用户进行交互的时候调用。此时活动处于运行状态。...()方法不会执行(因为活动并不是完全不可见),此时活动处于停止状态。...可见生存期:活动在onStart()方法和onStop()方法之间所经历的的,就是可见生存期。 前台生存期:活动在onResume()方法和onPause()方法之间所经历的就是前台生存期。...我们给它使用了一个android:theme属性,这是用于给当前活动指定主题的,我们用了@style/Theme.AppCompat.Dialog就是让这个活动使用对话框。...extends AppCompatActivity { private static final String TAG = "SecondActivity"; @Override

98020

安卓入门-第二章-探究活动

菜单的响应方法写于onCreate方法中,而是独立于onCreate方法;按钮的创建则是反之。...然后我们在SecondActivity中将传递的数据取出,并打印出来,代码如下所示: public class SecondActivity extends AppCompatActivity {...接下来我们在SecondActivity中给按钮注册点击事件,并在点击事件中添加返回数据的逻辑,代码如下所示: public class SecondActivity extends AppCompatActivity...暂停状态 当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态。你可能会觉得既然活动已经不在栈顶了,还怎么会可见呢?...我们通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。 onStop():这个方法在活动完全不可见的时候调用。

2.9K20

Android Activity之间的数据传递

一、通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent...startActivity方法了,而是使用 startActivityForResult方法来完成我们的操作。...这样的场景在实际开发中还是很常见的,比如说A activity中做了一个查询的功能,查询向后台请求数据假设需要传入一个时间字段,传的话默认是当前时间,B activity中可以设置时间,那我们就可以在根据...extends AppCompatActivity { private TextView textView; @Override protected void onCreate...这里推荐一篇博客,可以大概了解下Android的几种数据存储方式 四、使用EventBus框架 越来越多的项目开发中使用到EventBus这个框架,那什么是EventBus呢?

1.7K21

模仿Android微信小程序,实现小程序独立任务视图的效果

小程序相信现在所有人都使用过的对吧,很多人甚至天天都在使用。小程序特别的方便,无需下载,无需安装,在微信当中打开就能立刻使用。随取随用,随用随走,也不占用任何手机的存储空间。...因为每个程序都有自己专属的应用Logo,小程序也例外。就像我们在最开始的图片中看到的一样,美团小程序有美团的Logo,微博小程序有微博的Logo,星巴克小程序有星巴克的Logo。...的Logo: 接下来,编辑FirstActivity、SecondActivity和ThirdActivity的代码,在里面加入如下逻辑: class FirstActivity : AppCompatActivity...: AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?)...当你尝试打开第6个小程序时,最先打开的那个小程序就会被回收,将它的容器提供给第6个小程序使用。 好了,本篇文章到这里就结束了。

93520

Android-活动的最佳实践

只写一个普通Java类就可以了,并让BaseActivity继承AppCompatActivity,并重写onCreate()方法。...然后让BaseActivity成为项目中所有活动的父类,修改三个活动的继承结构,继承BaseActivity,因为Base继承了AppCompatActivity,所以三个活动功能不受影响。...killProcess()方法用于杀掉一个进程,接收一个进程ID参数,我们可以通过myPid()方法来活动当前程序的进程ID, 需要注意的是,killProcess()只能用于杀掉当前程序的进程,不能使用这个方法杀掉其他程序...假设SecondActivity中需要用两个数据,在启动Second时传过来,那么我们很容易写出: Intent intent = new Intent(FirstActivity.this,SecondActivity.class...这样写的好处就是一目了然,Second需要的数据在方法中都体现出来了,现在只需要一行代码就可以启动SecondActivitySecondActivity.actionStart(MainActivity.this

55810

16.Android-activity生命周期与启动模式

运行状态 如果一个活动位于屏幕的前台(可见的),那么它就是活动的或正在运行的。...暂停状态 如果一个活动失去了焦点,但仍然可见(也就是说,一个新的非全尺寸或透明的活动将焦点放在了活动的顶部),那么它将被暂停。...它仍然保留所有的状态和成员信息,但是,它对用户来说不再可见,所以它的窗口是隐藏的,当在其他地方需要内存时,会被系统杀死。...Manifest中配置如下: android:launchMode=”standard” //可以写,因为默认就是standard模式。...activity的实例之前,会自动在任务栈中匹配实例,如果之前创建,那么就在栈顶创建一个实例,如果已存在,那么会将它上面的其它所有activity全部出栈, 然后显示当前已经创建的activity,并且会回调该实例的

56510

关于Activity生命周期的小结

" /> FirstActivity的代码如下: public class FirstActivity extends AppCompatActivity {...SecondActivity的代码与FirstActivity并无差异,主要将Log中的FirstActivity替换成了SecondActivity。...所以在这里重新写一下: 测试机型:红米2 Android版本:5.1.0 设置android:configChanges时,无论是切横屏还是切竖屏都会重新调用各个生命周期,但都是调用一次(原先Android...2.X 的说法是切横屏时会执行一次,切竖屏时会执行两次,只适用于Android 2.X 版本) 设置android:configChages=”orientation”时,结果和设置一样,仍然是重新调用生命周期方法...设置为android:configChanges=”orientation|keyboardHidden”时,Android 4.0以上和设置一样,仍然是重新调用生命周期方法,而且横竖屏都是一次;Android2

25630
领券