展开

关键词

Activity

Activity 什么是Activity 创建Activity 启动Activity 保存Activity状态 Activity的生命周期 ---- acitivyt 是什么 引用官方的说法: 是一个应用组件 窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上 创建Activity 要创建Activity 必须继承自Activity或者Activity的子类。 Activity调用的第一个方法 , 创建完成后必须在Manifest文件中 声明此Activity 系统才会知道有这个Activity <manifest ... > <application . 的状态 当用户 离开Activity去往另一个Activity时;Activity会被压入返回栈,如果内存不够就会被销毁 ,当Activity被销毁后其中的数据当然就没了,如果需要保留这些数据可调用 方法 当前activity1跳往到activity2 ,activity就会把activity1覆盖,这时就调用了此方法 onRestart(); 重新启动 onDestroy():activity再结束前调用的最后一个方法

23960

activity

文章目录 一、activity的生命周期 1、activity的四种状态 2、activity的生命周期 3、activity的进程优先级 二、android的任务栈 三、activity的启动模式 四 、scheme跳转协议 一、activity的生命周期 1、activity的四种状态 running:可以交互 paused:可以看见但不可以交互,成员变量都还在,但是若内存紧张,将会优先被系统回收 stopped:完全被其他的activity覆盖看不见,成员变量都还在,但是若内存紧张,将会优先被系统回收 killed:被系统回收了,所保留的信息和成员变量已经不存在了 2、activity的生命周期 重新启动才调,由不可见状态变为可见状态的时候会调用 onDestory(): 做一些资源释放 3、activity的进程优先级 前台:可交互的activity 或者 在前台activity绑定的service ):创建的activity是在栈内的话,就会复用并将栈内其上的activity移除,并回调一个newIntent(); 4、singleInstence:在整个系统在只有这一个activity,并且独享任务栈

8930
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

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

    Activity中启动和关闭其他Activity

    上一期我们学习了Activity的创建和配置,当时留了一个悬念,如何才能在默认启动的Activity中打开其他新建的Activity呢?那么本期一起来学习如何启动和关闭Activity。 一、概述 经过前面内容的学习,知道一个Android应用通常都会包含多个Activity,但只有一个Activity 会作为程序的入口——当该Android应用运行时将会自动启动并执行该Activity 至于应用中的其他Activity,通常都由入口 Activity启动,或由入口 Activity启动的Activity启动。 Activity启动其他Activity有如下两个方法。 该Module一共包含了2个Activity,并在AndroidManifest清单文件中配置两个Activity。 其中第一个Activity的界面布局非常简单,只包含一个按钮和文本提示,其中按钮的作用主要是启动第二个Activity

    2K50

    Activity isFinishing()判断Activity的状态实例

    Activity中调用finish()或按返回键退出时,若有资源被其他对象引用不能释放(如context被某个单例对象引用或正在线程中被使用),则activity不会被调用onDestory()方法。 isFinishing() 可用来判断Activity是否处于活跃状态(false)还是等待回收状态(true)。 * * @return If the activity is finishing, returns true; else returns false. ),则activity 不会被调用 onDestroy() ,原因可能是 activity 对象还在被引用! 以上这篇Activity isFinishing()判断Activity的状态实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    49720

    Android框架简介--Activity--Activity启动

    Activity A 启动 Activity B,Activity B所在进程未启动为例 大体经过已经几个阶段: startActivity.png 第一步 Activity A 调用AMS 启动接口 这是一个binder通讯,正常启动Activity的方式,一般我们都会通过以下的方式启动一个新的Activity startActivity(new Intent(A_Activity.this,B_Activity.class , app, } stack为mFocusStack, 这一部为取出栈顶的Activity,即我们要启动的activity,虽然之前activity没启动,但ams里面栈的信息在启动进程前都已经准备好了 r.activity.mFinished && ! Activity onStart函数 activity.performStart(); } 大体流程可以用下图表示 activity启动.png 参考: 网络课程 --剖析Framework

    4910

    activity主题

    windowBackground">@color/black</item> <item name="android:windowIsTranslucent">true</item> </style> 1、透明activity

    5840

    Android:非Activity跳转Activity时要加FLAG?

    按照我们之前的了解: 从非 Activity跳转到 Activity时 ,必须要给 intent 设置一个 FLAGNEWTASK , 如果不设置将无法跳转。加上之后,一切毛病都没有了。 所以,据此可知: 在 7.1.1(API25 )中,谷歌应该是对Activity跳转进行了优化,非Activity不加FLAG 也能跳转 在7.0中是否有这个特性,暂未测试,也未查阅相关资料。

    23640

    获取Activity栈,判断当前Activity位置的方法

    但是,BaseActivity派生出N个Activity,BaseActivity中的广播就会执行N次,导致弹框重复添加,所有在广播中判定,只有在栈顶的Activity才能处理广播消息。 --获取Activity任务栈 权限-- <uses-permission android:name="android.permission.GET_TASKS" / 具体实现,获取栈以及其中内容: // 获取activity任务栈 ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE ); ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0); // 类名 .ui.mobile.activity.WebsiteLoginActivity 避开处理 以上这篇获取Activity栈,判断当前Activity位置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

    1.1K30

    Android 子activity关闭 向父activity传值

    使用startActivity方式启动的Activity和它的父Activity无关,当它关闭时也不会提供任何反馈。 可变通的,你可以启动一个Activity作为子Activity,它与父Activity有内在的联系。当子Activity关闭时,它会触发父Activity中的一个事件处理函数。 子Activity最适合用在一个Activity为其它的Activity提供数据(例如用户从一个列表中选择一个项目)的场合。 子Activity的创建和普通Activity的创建相同,也必须在应用程序的manifest中注册。任何在manifest中注册的Activity都可以用作子Activity。 结果码是运行子Activity的结果,一般是Activity.RESULT_OK或Activity.RESULT_CANCELED。

    88450

    Eclipse安卓使用Activity模板快速新建Activity

    不过,android studio在文件—新建的菜单中,可以快速新建Activity的功能相当实用,如图: ? android studio的新建activity功能就不用每次让我们很麻烦地建一个java类然后继承Activity了,Activity的几个必要的方法自动为我们声明了。 实际上,eclipse也有这样的功能: Eclipse安卓使用Activity模板快速新建Activity eclipse的新建菜单里面其实也有快速新建Activity的功能,只是没有放在醒目的位置: 快速新建activity几种方法: ①分别打开菜单FILE——NEW——other——Android——Activity; ②Ctrl+N——Android——Activity; 用新建activity

    28821

    Activity启动流程

    Activity 一般通过Activity.startActivity(Intent)来启动Activity。 在execute方法中,会调用executeRequest方法,这里会处理启动Activity的请求,并开始一个Activity启动的旅程(代码注释原话)。 在Activity的启动过程中,Activity都是通过ActivityRecord来表示的。 在resumeTopActivityInnerLocked方法中,做了一系列的判断,确保待启动的Activity可见性,预定Activity的切换动画等。 Activity了(若对应Activity的进程尚未启动,则会通过ATMS的startProcessAsync方法启动进程,这就是另一个流程了)。

    7954

    Activity启动流程

    Activity启动流程很多文章都已经说过了,这里说一下自己的理解。 Activity启动流程分两种,一种是启动正在运行的app的Activity,即启动子Activity。 如无特殊声明默认和启动该activityactivity处于同一进程。如果有声明在一个新的进程中,则处于两个进程。另一种是打开新的app,即为Launcher启动新的Activity。 暂停完,在该activity还不可见时,通知AMS,根据要启动的Activity配置ActivityStack。然后判断要启动的Activity进程是否存在? 第二阶段:AMS先校验一下Activity的正确性,如果正确的话,会暂存一下Activity的信息。 ActivityStack.resumeTopActivityLocked :获取栈顶的activity,并通知Launcher应该pause掉这个Activity以便启动新的activity

    36340

    Activity转场动画

    ~ Activity作为Android系统中参与用户交互的重要组件,在日常开发过程中,我们经常需要定义Activity跳转动画以便为用户提供更好的体验,那么怎么设置Activity跳转动画呢? 当我们需要在同一栈内的Activty之间进行页面切换时,需要使用Activity动画。 使用过程中需要注意的是在A到B Activity之间切换时,B的入场动画声明在自己Style文件中,B的出厂动画取决于他的下一个Activity中声明的activityOpenExitAnimation 动画属性名称 说明 默认动画文件 其他说明 android:activityOpenEnterAnimation A-B时,B activity的入场动画 activity_open_enter.xml </item> </style> 这里需要注意的是在 Activity和栈动画,parent需是@android:style/Animation.Activity Window窗体动画属性,parent

    95140

    Activity 事件分发

    Activity,Dialog,Toast,都包含一个Window,该Window在Activity的attach()函数中mWindow = new PhoneWindow(this)创建。 FragmentLayout,也就是ViewGroup将事件分发给子view,接着调用Activity的setContentView方法加载view 当Activity下的子view拦截事件,就不会调用 Activity的onTouchEvent方法;当viewgroup的dispatchTouchEvent方法返回true就直接返回,也不会调用Activity的onTouchEvent方法;当子view 没有处理事件就交给viewgroup处理,如果还没有处理事件,一直向上传递,最后交给Activity来消费该事件 Activity onUserInteraction 分析 public void onUserInteraction onTouchEvent 分析 public boolean onTouchEvent(MotionEvent event) { //如果Activity下的view没有处理该事件,就会交给Activity

    17310

    Android 入门--Activity

    Activity 是什么 简单的来说,一个 Activity 包含了用户可以看到的界面,用来和用户进行交互。一个应用程序中可以有零个或者多个 Activity。 方法去销毁一个 Activity 的时候,这个 Activity 就会出栈。 Activity 的状态 每个 Activity 在其生命周期中最多可能会有 4 中状态 运行状态 当一个 Activity 位于返回栈的栈顶的时候,这个时候这个 Activity 就处于运行状态。 暂停状态 当一个 Activity 不再处于栈顶位置,但是仍然可见的时候,这种情况下这个 Activity 就处于暂停状态。Activity 不在栈顶了竟然还能被看到? 谁启用了这个模式的 Activity,那么这个 Activity 就属于启动它的 Activity 的任务栈。

    23420

    android使用Activity

    android:id="@+id/submit_to_net"></Button> 这样就在页面上绘制了一个按钮,然后给按钮添加事件,就是点击后做什么 我的类信息是ActivityUse,这个类继承自Activity 之间进行跳转的,Activity可以理解成web开发中的form. ,需要在AndroidManifest.xml中添加设置 <activity android:name=".Welcome" android:label="welcome"></activity> Welcome.java > <activity android:name=".Welcome" android:label="welcome"></activity> <activity { /* * (non-Javadoc) * * @see android.app.Activity#onCreate(android.os.Bundle)

    54430

    Activity堆栈管理

    默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个 activity所在的task栈。 当用户按下返回键时,第二个activity从栈中弹出,第一个activity又在当前屏幕显示。 打个比方,当前的task包含4个activity–当前 activity下面有3个activity。 当用户再次按下返回键时,屏幕不会显示之前留下的那个activity(之前的task的根activity),而显示当前 activity从task栈中移出后栈顶的那个activity。 4种分类来区分,以下假设位于task1中的activity1启动activity2: 模式/分类 包容activity2的task 一个activity是否允许有多个实例 activity是否允许有其它

    591100

    Default Activity Not Found

    方才遇到如标题所述的bug, 也就是点击运行按钮时,AS左下角弹出红色背景对话框, 提示“ Default Activity Not Found ” 基于此篇文章:Default Activity schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin " android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin " android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.cniao5.cniao5retrofitdemo.MainActivity

    1.1K40

    探究活动Activity

    注意到,既然是手动创建活动,我们在Add an Activity Mobile这个环节就要选择Add No Activity,如下图所示 ? 接下来我们就进入正题,创建活动了.鼠标右键点击com.example.activitytestdemo包→New→Activity→Empty Activity,如下图所示 ? 会弹出一个创建活动的界面,如下图所示 这里注意到,不要勾选Generate Layout File 和Launcher Activity ? string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity

    20620

    activity结束之后刷新之前的activity的内容

    点击添加按钮之后-----弹出一个新的activity--------在新的activity将数据输入保存之后,关闭当前的activity回到之前的activity刷新内容 实现:使用onActivityResult intent.putExtra("fromMain", str); // startActivity(intent); // 启动需要监听返回值的Activity intent);// 设置resultCode,onActivityResult()中能获取到 finish(); } }); 两个activity

    39060

    扫码关注云+社区

    领取腾讯云代金券