今天想到一个问题,activity里面的静态变量,在activity打开新的activity时,并且调用finish(),新的activity中是否可以读到静态变量。
晚上网上查了下,说的是finish()后,静态变量还是可以读到的。
自己写了一个小case进行了验证,果然如上所述。
打开新的activity代码如下:
Intent intent=new Intent();
intent.setClass(this, new_activity.class);
startActivity(intent);
一开始是在startActivity后调用的finish(),我想要是finish()放在之前会怎么样,结果结果和之前还是一样。。。
继续google,才知道即使activity调用了finish(),也不会立即调用onDestory方法,而是执行完finish()后面的代码后才会调用onDestory方法。
自己的验证代码如下:
public void start_newActivity(){
Intent intent=new Intent();
intent.setClass(this, new_activity.class);
startActivity(intent);
Log.v(TAG, "finish");
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.v(TAG, "onDestroy");
}
这样的执行结果是,finish后会立即调用onDestory;
将finish放在打开activity之前,执行结果:finish后先去打开新的activity,之后才去调用onDestory。
上面的得出的结果,代码验证是OK的,但是具体的原理需要后面学习的了解。。。
分享到:
相关推荐
在Android开发中,Activity的手势滑动finish动画是一种常见的用户交互设计,它可以提供更流畅、直观的用户体验。本文将深入探讨如何实现这一功能,主要涉及自定义View和动画技术。 首先,我们需要理解Android中的...
在Android应用开发中,Activity是核心组件之一,它代表了用户与应用交互的界面。"android-activity_学习资料"的压缩包很可能包含了关于Activity的深入学习材料,旨在帮助开发者理解并熟练掌握这一关键概念。Activity...
在Android应用开发中,Activity是构成应用程序的基本组件,它代表用户界面的一个屏幕。有时,我们需要在子Activity执行某些操作后将结果返回给父Activity。这个过程通常涉及到Intent的使用,Intent不仅用于启动新的...
Activity的关闭通常通过调用`finish()`方法实现,这会将当前Activity从栈顶移除,然后返回到上一个Activity。 五、管理Activity的生命周期: 1. 生命周期简介:Activity的生命周期由系统控制,主要分为` onCreate()...
在Android应用开发中,Activity是四大组件之一,它是用户与应用程序交互的主要界面。理解Activity的通信方式和生命周期变化是每个Android开发者必须掌握的基础知识。在本篇内容中,我们将深入探讨Activity之间的通信...
在这个“Android开发学习20”教程中,我们将专注于使用Intent在两个Activity之间进行跳转。 首先,我们需要创建两个Activity:源Activity(SourceActivity)和目标Activity(TargetActivity)。源Activity通常是...
当用户完成某个任务或者需要返回上一界面时,可以通过`finish()`方法结束当前Activity,释放其占用的资源。 4. 返回结果: 有时候,一个Activity可能需要向启动它的Activity返回数据。这可以通过设置Intent的...
3. **Activity的生命周期**: 在Android中,每个Activity都有一个完整的生命周期,包括onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等方法。在Activity之间切换时,这些方法会被调用,...
在Android应用开发中,Activity是核心组件之一,它负责用户界面的展示和交互。Activity的高级学习涵盖了多个关键概念和技术,对于成为一名熟练的Android开发者至关重要。以下是对Activity高级学习的详细解析: 1. *...
在Android应用开发中,Activity是构成应用程序的基本单元,它代表了用户可以交互的一个屏幕。"Activity之间的跳转项目案例实现"这个主题主要关注如何在不同的Activity之间切换,并且在跳转过程中传递数据。这里我们...
返回上一个`Activity`可以使用`finish()`方法。 **五、TestActivity案例分析** 在"TestActivity"案例中,我们假设`activity_test.xml`是其布局文件,可能包含了各种UI组件。开发者可以通过注释解释代码的功能,让...
当一个Activity被启动后,可以通过setResult()设置结果,然后使用finish()结束当前Activity。在父Activity中,可以通过onActivityResult()来接收子Activity返回的结果。 在实际应用中,Activity的管理还包括了栈的...
在目标Activity中,使用setResult()设置结果并使用finish()结束Activity。 5. Eclipse中的实践: 在Eclipse中,你可以创建两个Android项目,分别代表两个Activity。在第一个Activity的按钮点击事件中实现上述代码...
7. **finish()方法**:调用Activity的finish()方法可以结束当前Activity,将其从任务栈中移除。这通常发生在用户完成某个操作或点击返回按钮时。 8. **回退栈管理**:Android系统维护了一个回退栈来管理Activity的...
1. **创建(Created)**:当Activity首次被创建时,会调用`onCreate()`方法。这是Activity生命周期的第一个回调,开发者通常在这里初始化UI布局、设置基本属性和数据。 2. **启动(Started)**:`onStart()`方法在...
通过`finish()`方法,可以手动结束一个Activity,将其从栈中移除。 四、配置变化与生命周期 当设备配置(如屏幕方向、语言等)改变时,系统默认会销毁并重新创建Activity。开发者可以通过重写`onSaveInstanceState...
本示例项目"安卓手绘图片处理画板相关-Android随手势滑动销毁finishActivity.rar"着重于实现一个特色功能:通过用户的手势滑动来销毁(finish)Activity。这个特性常见于现代移动应用,比如左滑关闭卡片式界面或右滑...
使用StartActivity()方法可以启动一个新的Activity,而Finish()方法则会结束当前Activity,返回上一Activity或者退出应用。 4. **Activity的配置变更处理**:当设备发生旋转或语言切换等配置变更时,默认情况下,...
当用户按下设备的回退键或通过代码调用finish()方法时,栈顶的Activity会被弹出,前一个Activity就会显示出来。开发者可以通过使用FLAG_ACTIVITY_CLEAR_TOP或FLAG_ACTIVITY_SINGLE_TOP等启动Flag来控制Activity如何...
在`onOptionsItemSelected()`方法中,检查`MenuItem`的ID是否为`android.R.id.home`,如果是,则调用`finish()`方法关闭当前Activity: ```java @Override public boolean onOptionsItemSelected(MenuItem item) { ...