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

Android面试题集:以前烂大街的四大组件-Activity,面试重提这些知识点你还记得吗?

onStart() 这个方法在Activity 由不可见变为可见的时候调用。 onResume() 这个方法在Activity 准备好和用户进行交互的时候调用。...onDestroy() 这个方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。...onRestart 这个方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了。 生命周期:为了巩固记忆,画了一遍。...Activity 在 onResume 之后才显示的原因是什么? 虽然我们设置 Activity 的布局一般都是在 onCreate 方法里调用 setContentView 。...onActivityResult 在哪两个生命周期之间回调? onActivityResult 不属于 Activity 的生命周期,一般被问到这个问题时大家都会懵逼。

76900

金九银十Android面试复习题集:关于四大组件中的Activity你了解多少?

onResume() 这个方法在Activity 准备好和用户进行交互的时候调用。此时的Acivity一定位于返回栈的栈顶,并且处于运行状态。...onDestroy() 这个方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。...onRestart 这个方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了。 生命周期:为了巩固记忆,画了一遍。...Activity 在 onResume 之后才显示的原因是什么? 虽然我们设置 Activity 的布局一般都是在 onCreate 方法里调用 setContentView 。...) 综上,在onResume回调之后,会创建一个 ViewRootImpl ,有了它之后应用端就可以和 WMS 进行双向调用了。

1.5K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AndroidStdio1_5

    onActivityResult()方法带有三个参数: 第一个参数requestCode,即我们在启动活动时传入的请求码。 第二个参数resultCode,即我们在返回数据时传入的处理结果。...由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同的活动,每一个活动返回的数据都会回调到onActivityResult()这个方法中,因此我们首先要做的就是通过检查...这个方法在活动由不可见变为可见的时候调用。 ❑ onResume()。这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态。 ❑ onPause()。...这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。 ❑ onRestart()。这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。...活动在onResume()方法和onPause()方法之间所经历的就是前台生存期。

    62830

    Android基础总结(2)——活动Activity

    onActivityResult()方法,因此我们还需要在第一个活动中重写onActivityResult()方法,在该方法中我们对返回的数据和结果进行处理。...(因为并不是每一个活动都会布满屏幕,例如Toast等出现时,前一个活动就是暂停状态),该状态下的活动仍然是完全存活的,系统也不愿意去回收 停止状态:当一个活动不再处于栈顶位置,并且完全不可见时,系统愿意为这种活动保存相应的状态和变量...由不可见变为可见时调用。 onRestart():当Activity已经停止然后重新被启动时系统会调用。 onResume():当Activity可见且获得用户焦点能交互时系统会调用。...则是在onResume之前触发回复状态,至于复写这个方法后onCreate方法是否会被调用。...系统不在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个新的实例。 singleTop:在启动活动时如果发现返回栈的栈顶已经是该活动了,则认为可以直接使用它,不用再创建新的活动实例。

    1.2K90

    Android面试题总结【完整详细版本”一”】(含答案)

    当A启动B时,A调用onPause()方法,然后调用新的Activity B,此时调用onCreate()方法 —> onStart()方法 —> onResume()方法将新Activity激活。...当A再次回到前台时,B调用onPause()方法,A调用onRestart()方法 —> onStart()方法 —> onResume()方法,最后调用B的onStop()方法 —> onDestory...方法会回调相应的Fragment的onActivityResult方法,所以在重写FragmentActivity的onActivityResult方法时,注意调用super.onActivityResult...当连接建立之后,Service将会一直运行,除非调用Context.unbindService() 断开连接或者之前调用bindService() 的 Context 不存在了(如该Activity被finish...每一次启动,它的onCreate()、onStart()、onResume()方法都会被依次调用。

    1.1K20

    android onresume函数,android – 在Activity中重新创建后未调用onResume

    大家好,又见面了,我是你们的朋友全栈君。 在应用程序设置中进行某些更改时,我在recreate的onActivityResult中调用MainActivity。重新创建后,不调用onResume。...但是我从onActivityResult打电话给他们。另外,使用处理程序来调用recreate可以解决问题,但会导致眨眼,对用户而言很糟糕。这可能是什么错误?...没有recreate的情况下如何使用Handler? 任何想法将不胜感激。谢谢! 最佳答案 在onResume()之前调用OnActivityResult()。...您可以做的是在OnActivityResult()中设置一个标志,您可以在onResume()中检入,如果该标志为true,则可以重新创建活动。...您实际上可以做的是完成活动并开始相同的活动,而不是重新创建活动。您将获得相同的效果。

    3.4K20

    Android必知必会的四大组件--Activity

    (1)onPause() 和 onStop() (2)onStart() 和 onResume() onPause()说明当前的Activity已经暂停,但你并不是说暂停的意思只是没有了动作,而调用了onStop...onStart()也是一样,只是说Activity已经可以启动了,但这个时候页面还是不可见的,只有调用了onResume()页面才能够可见,页面跳转也是如此。...四大启动模式 standard — 标准模式 特征:每次启动一个Activity都会创建一个实例。 应用场景:Activity的默认启动方式。...应用场景:系统内部的应用,比如电话、短信等功能,通过Intent进行传播时,固定的就会调用这些系统自带的应用,在自己的应用中一般比较少使用。...他们存在解决方法,其实多种多样,但更多一般也都是基于生命周期来完成的。一般解法都是在onDestroy()进行置空操作、或是解绑这一类方法。

    74530

    Activity详细解释(生命周期、以各种方式启动Activity、状态保存,等完全退出)

    我们再次 打开时的启动过程又回到onCreate—onStart—onResume。OK,启动之后按下Home键。回到Launcher。查看信息打印:onPause—onStop。...onRestart():在 activity 被停止后又一次启动时会调用该方法。其兴许会调用 onStart 方法。 onStart()à当 activity 对于用户可见前即调用这种方法。...请注意下面几点: 1)因为activity 对象被暂停或停止时,它仍然保留在内存里面,关于它的成员信息和当前状态都是活动的,所以此时能够保存Activity的状态,从而使用户所作的Activity的更改保存在内存中...所以并不能保证会调用onSaveInstanceState。假设调用了该方法。通常是在onStop 方法之前且可能在 onPause 之后调用。...五、全然退出程序 通过上面的介绍,我们知道当点击back键时。程序调用了onDestroy方法。程序退出了,可是我们查看其进程,发现调用了onDestroy方法之后这个Activity还在执行。

    1.1K20

    Android基础_1 四大基本组件介绍与生命周期

    只是对用户不可见,当其他地方需要内存时它往往被系统杀掉 4.Dead——非活动状态       Activity 尚未被启动、已经被手动终止,或已经被系统回收时处于非活动的状态,要手动终止Activity...3.onRestart()           当Activity已经停止然后重新被启动时,系统会调用 4.onResume();       当Activity可见且获得用户焦点能交互时,系统会调用...5.onPause()         当系统启动另外一个新的Activity时,在新Activity启动之前被系统调用保存现有的Activity中的持久数据、停止动画等,这个实现方法必须非常快。...当系统而不是用户自己出于回收内存时,关闭了activity 之后。用户会期望当他再次回到这个activity 的时候,它仍保持着上次离开时的样子。...此时用到了onSaveInstanceState(),方法onSaveInstanceState()用来保存Activity被杀之前的状态,在onPause()之前被触发,当系统为了节省内存销毁了Activity

    1.5K30

    Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)

    Activity的启动过程:onCreate—onStart—onResume;下返回键时:onPause—onStop—onDestroy 正如上面说是,当按下返回键时,此Activity弹出栈,程序销毁...onRestart():在 activity 被停止后又一次启动时会调用该方法。其兴许会调用 onStart 方法。 onStart()à当 activity 对于用户可见前即调用这种方法。...Activity的执行状态,请注意下面几点: 1)因为activity 对象被暂停或停止时,它仍然保留在内存里面,关于它的成员信息和当前状态都是活动的,所以此时能够保存Activity的状态,从而使用户所作的...假设调用了该方法,通常是在onStop 方法之前且可能在 onPause 之后调用。...五、全然退出程序 通过上面的介绍,我们知道当点击back键时,程序调用了onDestroy方法,程序退出了,可是我们查看其进程,发现调用了onDestroy方法之后这个Activity还在执行。

    39810

    Android插件化学习之路(五)之代理Activity

    每次打开插件APK里的某一个Activity的时候,都是在主项目里使用标准的方式启动ProxyActivity,再在ProxyActivity的生命周期里同步调用插件中的Activity实例的生命周期方法...那我们可以在主项目里创建一个ProxyActivity,再由它去代理调用插件Activity的生命周期方法(这也是代理模式叫法的由来)。...用反射调用插件Activity相应生命周期 我们要在代理activity中去反射apk中activity的所有生命周期的方法,然后将activity的生命周期和代理activity的生命周期进行同步。...看如下代码,很好理解,就是当系统调用代理activity生命周期方法的时候,就通过反射去显式调用apk中activity的对应方法。 1. @Override 2....,这样就完成了插件activity的生命周期管理,并且没有采用反射,当我们想增加一个新的生命周期方法的时候,只需要在接口中声明一下同时在代理activity中实现一下即可. public interface

    37530

    【Android 应用开发】Activity生命周期 与 Activity 之间的通信

    , 调用之后进入暂停状态 , 如果不满足条件我们不想让用户进入应用 , 可以在这里进行限制 , finish掉该Activity; onResume() : 在与用户交互之前调用 , 调用之后进入激活状态..., 调用之后该Activity不可见; 该方法用来关闭旧的Activity , 注意是完全不可见的时候才会调用这个方法; onDestroy() : Activity被销毁前调用 ; 注意 : 在暂停状态...Activity获取数据 在Activity中想要取出跳转之前放入的数据 , 调用Activity的getIntent()方法 , 获取Intent对象 , 在调用Intent对象的方法获取数据; ①获取...在创建了Intent之后 , 一般情况下是使用startActivity()启动另一个Activity , 如果我们需要启动另外一个Activity , 并且需要将这个Activity中的数据返回的时候..., 就需要调用startActivityForResult()方法启动Activity; 在Activity A 中启动另外一个Activity , 需要重写 A 中的 onActivityResult

    48230

    Activity

    在Activity的各个生命阶段实现对应的方法; 其中重要的两个方法: onCreate() ,系统在创建Activity时调用此方法;在此方法实现视图绑定;一些 控件的初始化 onPuase(); 用户离开当前...Activity调用的第一个方法 , 创建完成后必须在Manifest文件中 声明此Activity 系统才会知道有这个Activity <application ....了 onResume(): 调用这个方法前 只能看到Activity 并不能进行交互 ,执行完此方法才可以进行交互 ,整个Activity就彻底的运行起来了 onPause() :停止用户交互 你可以看到...;这里可以进行一些释放资源的操作 三种阶段 完整生命周期: 从调用的第一个方法 onCreate() 到最后调用一个的方法onDestroy() ,在onCreate()方法中可以进行一些全局的配置,UI...只能看,可以理解为于禁用状态 前台周期:在执行onResume() 和 onPause() 之间,在这期间,用户就可以在前台和activity交互了。

    97960

    什么是activity的生命周期_activity切换生命周期

    当活动进入新状态时,系统会调用这些回调方法。 Activity类中定义了7个回调方法,这些称为我们系统的一个回调,又称为callback。...你应该在这个方法中完成Activity的初始化操作,比如加载布局、绑定事件等。 这个方法在每次活动最开始启动时都会运行,并且在每一个活动中只允许这个方法出现一次。 ● (2)onStart()。...我们通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶Activity的使用。 当App准备启动另一个活动时进行回调。...当活动在完全不可见时进行回调。 ● (6)onDestroy()。 这个方法在Activity被销毁之前调用,之后Activity的状态将变为销毁状态。 在活动销毁之前进行回调。...这个方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了。 当活动重新开始运行时回调。

    96010

    【Android基础】利用Intent在Activity之间传递数据

    Integer的变量作为启动参数,当启动的那个Activity退出时这个参数会被作为回调函数的一个参数,用来区分返回结果,也就是说你启动Activity时传递的参数(requestCode)和返回结果时的那个参数...之前调用startActivityForResult()方法,如果你在onResume之前调用了,那么所在的Activity就无法显示,直到启动的那个Activity退出然后返回结果,这是为了避免在重新定向到另外...Activity时窗口闪烁; 接收返回结果: 当startActivityForResult()启动的Activity完成任务退出时,系统会回调你调用Activity的onActivityResult...()方法,这个方法有三个参数: resquestCode : 启动Activity时传递的requestCode; resultCode: 表示调用成功或者失败的变量,值为下面二者之一; /** Standard...Intent: 在被启动的Activity中你可以接收启动这个Activity的Intent,在生命周期范围内都能调用getIntent()来获取这个Intent,但是一般都是在onCreat和onStart

    1.6K60

    【Android从零单排系列三十五】《Android四大组件——Activity》

    onStart():生命周期方法,在Activity变得可见但还无法与用户交互之前调用。 onResume():生命周期方法,在Activity变得可见且可以与用户交互之前调用。...onDestroy():生命周期方法,在Activity销毁之前调用,用于释放所有的资源和执行最终的清理操作。...onResume():在Activity变得可见并能够与用户交互之前调用,此时Activity位于前台并获得了焦点。在这个阶段,Activity处于活动状态,可以响应用户的输入事件。...需要注意的是,当系统资源不足或内存紧张时,可能会触发Activity的销毁和重建,这时会调用相应的生命周期方法。...: 当需要获取目标Activity返回的结果时,可以使用startActivityForResult()方法启动,并在目标Activity中调用setResult()方法设置返回结果。

    22610

    速读原著-Android应用开发入门教程(屏幕间的跳转和事件的传递)

    6.4 屏幕间的跳转和事件的传递 在一般情况下,Android 的每一个屏幕基本上就是一个活动(Activity),屏幕之间的切换实际上就是在活动间互相调用的过程,Android 使用 Intent 完成这个动作...6.4.1.跳转的方法 本示例是一个简单的屏幕之间的跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后,前一个屏幕消失。...Forwarding 和 ForwardTarget,由于第二个活动没有 intent-filter,因此在程序中只能由第一个活动来启动。...本例中使用了 finish()函数表示当前的活动结束,这样在第二个活动(ForwardTarget)启动时,第一个活动(Forward)已经不存在了。...如果没有调用 finish()函数,第二个活动启动时,第一个活动就处于 OnPause 状态,当第二个活动退出后,第一个活动重新出现,也就是会调用活动的 onResume()函数。

    85710

    速读原著-Android应用开发入门教程(屏幕间的跳转和事件的传递)

    6.4 屏幕间的跳转和事件的传递 在一般情况下,Android 的每一个屏幕基本上就是一个活动(Activity),屏幕之间的切换实际上就是在活动间互相调用的过程,Android 使用 Intent 完成这个动作...6.4.1.跳转的方法 本示例是一个简单的屏幕之间的跳转,从一个屏幕跳转到另一个屏幕,在启动第二个屏幕后,前一个屏幕消失。...Forwarding 和 ForwardTarget,由于第二个活动没有 intent-filter,因此在程序中只能由第一个活动来启动。...本例中使用了 finish()函数表示当前的活动结束,这样在第二个活动(ForwardTarget)启动时,第一个活动(Forward)已经不存在了。...如果没有调用 finish()函数,第二个活动启动时,第一个活动就处于 OnPause 状态,当第二个活动退出后,第一个活动重新出现,也就是会调用活动的 onResume()函数。

    90720
    领券