在一个Activity中结束另一个Activity的方法;如何是从A跳转到B, 结束A的;关于Activity在后台被销毁的处理;关于Activity在后台被销毁的处理
2016-11-30 11:31
471 查看
类型一:在一个Activity中结束另一个Activity的方法 下面的以ActivityB 结束ActivityA 为例: 方法一: 1.首先在 ActivityA 中定义一个 Activity 的静态全局变量: staticActivity ActivityA; 2.在OnCreate()方法中给ActivityA赋值: ActivityA=this; 3.在ActivityB中,需要结束ActivityA时,调用 ActivityA.ActivityA.finish(); 方法二: 1.在ActivityA中加入一个广播接收器,当收到广播时退出, 2.在ActivityB中,需要结束ActivityA时发送广播即可。 类型二:如何是从A跳转到B, 结束A的话 Intent i=new Intent(A,B)satrtActivity(); 类名.this.finish(); 类型三:如何是从A跳转到B, 结束A, 方法一: ActivityA.isFinishing()这个方法之外; 方法二: 可以设置一个Application List变量用来存放Activity, 每次Activity onCreate时add进List, 每次Activity onDestroy时remove, 到时只要判断List里面是否存在指定的Activity就行了 方法三: activity 销毁之前会调用 onDestroy(), 你在这个函数里面写提示就知道它有没有被销毁。(发送广播, 或者存储一个SharePreference 一个标志值,或者一个全局静态变量什么的); 类型四:关于Activity在后台被销毁的处理 一:如果一个APP在被转到了后台,就很有可能被系统回收, 当APP在后台被系统回收,再次打开APP的时候,会发生什么事情呢?(以下是个人测试得到) : 1,一般所有能回收的Activity都会被回收, Application 也会销毁 2,会在一个新的进程中新建一个应用, 意味所有旧的变量,常量都不存在了 ,是所有哦!!! 3,重新加载APP最后显示的Activity 4,这个时候点击返回键,会重新加载倒数第二个Activity, 以此类推... 二:我遇到的问题是保存在 全局变量 和 静态变量 都没有数据了 三:解决方法: 方法一: 我要实现的效果是如果APP被后台回收,就重新打开应用, 实现如下: 1,定义一个基类BaseActivity 2,除了程序入口的Activity 其他activity都继承BaseActivity 3,在BaseActivity的onCreate方法中判断必要的变量是否销毁,如果销毁了就调用 android.os.Process.killProcess(android.os.Process.myPid()); 来结束整个应用 方法二: 使用onSaveInstanceState()进行保存数据,同事移除Activity中的Fragment; 这样所有的activity都会被关闭,而程序入口的activity会重新加载,达到了重新加载的效果 四:为什么 killProcess 不会结束程序入库的activity呢? 1.系统其实只是记录了APP中activity打开的顺序, 2.当我们再次打开被系统回收的APP的时候,APP中其实只有一个activity, 当我没killProcess的时候,系统又会重新建一个线程去打开倒数第二个activity,依次类推 3.当打开程序入口的activity时,由于我们没有去销毁它,所以activity被重新加载,相当于重新打开了应用
相关文章推荐
- android 在一个Activity中结束另一个Activity的方法(可以完全退出程序)
- android中如何添加一个监听按钮,点击之后从一个activity跳转到另一个activity
- struts2 result类型为redirectAction时,跳转转到另一个包空间里的一个action的指定处理方法的xml配置
- 如何在一个Activity更新另一个Activity的UI(发送广播的方法)
- 关于“如何做到在一个类内不通过创建另一个类的对象,却调用另一个类的方法”的问题
- android 在一个Activity中结束另一个Activity的方法(可以完全退出程序)
- android 在一个Activity中结束另一个Activity的方法(可以完全退出程序)
- 关于Activity跳转另一个Activity指定的fragment的解决方法
- Android开发关于Activity跳转另一个Activity指定的fragment的解决方法
- 关于ASP.NET MVC中Response.Redirect和RedirectToAction的BUG (跳转后继续执行后面代码而不结束进程)以及处理方法
- 关于Activity的onCreate方法是如何被执行的
- 在当前activity中调用另一个activity中的方法怎么处理?
- Java中如何通过一个类名来调用另一个类的静态方法?
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 关于在Android中Activity页面跳转的方法
- Android Activity之间跳转出现短暂黑屏的处理方法(转)
- Activity任务栈的管理 -----销毁前一个相同的activity(还有一种简单的方法实现)
- 关于back键隐藏当前activity和销毁Activity的两个监听方法
- Android关于Intent的思考:如何更好的启动一个Activity
- 如何在一个Activity里销毁另外一个Activity