上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下退出窗口

1.. 停止全体Activity的方法

ActivityManager activityMgr = (ActivityManager) OneActivity.this.getSystemService(ACTIVITY_SERVICE);

activityMgr.restartPackage(getPackageName());

<uses-permission android:name="android.permission.RESTART_PACKAGES" />

2. android.os.Process.killProcess(android.os.Process.myPid())//获得PID

 

3. 任务管理器方法

首先要说明该方法运行在Android 1.5 APILevel为3以上才可以,同时需要权限

ActivityManager am= (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);

am.restartPackage(getPackageName());

系统会将,该包下的 ,全体进程,服务,全体杀掉,就能够杀干净了,要注意加上

4. 根据Activity的声明周期,我们知道Android的窗口类提供了历史栈,我们可以通过stack的道理来奇妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的全体Activity。

在A窗口中使用上面的代码调用B窗口

Intent intent = newIntent();

intent.setClass(Android123.this,CWJ.class);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//注意本行的FLAG设置

startActivity(intent);

接下来在B窗口中需要退出时直接使用finish方法便可全体退出。

5.自定义一个Actiivty 栈,道理同上,不过利用一个单例模式的Activity栈来管理全体Activity。并提供退出全体Activity的方法。代码如下:

public classScreenManager {

private staticStack activityStack;

private staticScreenManager instance;

privateScreenManager(){

}

public staticScreenManager getScreenManager(){

instance=newScreenManager();

}

return instance;

}

//退出栈顶Activity

public voidpopActivity(Activity activity){

activity.finish();

activityStack.remove(activity);

每日一道理
记不清有多少个夜晚,在我翻阅纸张的指间滑落;记不清有多少支蜡烛,在我的凝视中化为灰烬。逝者如斯,我时时刻刻会听见自己对生命承诺的余音,感到岁月的流转在渐渐稀释我的年少无知,我愿自己是一只上足了发条的时钟,在昼夜不停的流转中留下自己充实的每一刻。

activity=null;

}

}

//获得以后栈顶Activity

public ActivitycurrentActivity(){

Activityactivity=activityStack.lastElement();

return activity;

}

//将以后Activity推入栈中

public voidpushActivity(Activity activity){

activityStack=newStack();

}

activityStack.add(activity);

}

//退出栈中全体Activity

public voidpopAllActivityExceptOne(Class cls){

while(true){

Activityactivity=currentActivity();

break;

}

break;

}

popActivity(activity);

}

}

}

2.android开辟时,finish()跟System.exit(0)的区别

这两天在弄android,遇到一个问题:所开辟的小游戏中有背景音乐,玩的过程当中始终有音乐在放着,然后在我退出游戏后,音乐还在播放!

我看了一下我最开始写的退出游戏的代码,就是简略的finish()语句。我想应该是这个地方出了问题。后来想了想,以前似乎见过有用System.exit(0)退出游戏的,然后就尝试了一下,发现问题果然处理了。

当初来完全弄清楚两者的区别。

首先一个Activity是有生命周期的,onCreate,onStart,onResume,onPause,onStop,onDestroy...

finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有当即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。

其实android的机制决定了用户没法完整退出应用,当你的application最长时间没有被用过的时候,android自身会决定将application关闭了。

文章结束给大家分享下程序员的一些笑话语录: 爱情观
  爱情就是死循环,一旦执行就陷进去了。
  爱上一个人,就是内存泄露--你永远释放不了。
  真正爱上一个人的时候,那就是常量限定,永远不会改变。
  女朋友就是私有变量,只有我这个类才能调用。
  情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。

退出窗口[置顶] 退出Activity的方法相关推荐

  1. Qt窗口置顶的俩种方法

    一,QT属性设置: setWindowFlags(Qt::WindowStaysOnTopHint); 二,Windows原生函数: // 置顶,this指当前的窗口 ::SetWindowPos(H ...

  2. 将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow

    将窗口置顶的方法:SetWindowPos.AttachThreadInput.SwitchToThisWindow [转]http://hi.baidu.com/neil_danky/item/f9 ...

  3. Winform 为程序设置隐藏到托盘功能和将窗口置顶

    零.前言废话 之前因为工作需要与便于偷懒总结,便在一个阳光明媚的下午写了一个非常简单的Winform应用作为日常记录工作内容和一键生成工作周报的工具,当时因为基本功能都完成了,便没有继续优化细节.今日 ...

  4. java 窗口置顶_JAVA如何让窗体置于所有应用前面?

    展开全部 可以使用setAlwaysOnTop(true);实现置顶. 可以实现只能最小化,不能缩放,通过代码setResizable(false);//禁止缩32313133353236313431 ...

  5. 窗口置顶工具v2.6.0(截图+贴图)

    大家好,很高兴能再次更新版本,距上一年12月份到现在,有差不多两个月没有更新了,主要是年底,工作方面要冲刺,直到上周才有空继续开发置顶工具. 本来想再偷懒一段时间再开发,但最近在工作中经常遇到公司会议 ...

  6. 窗口置顶小工具TopMost

    分享一款好用的windows电脑的窗口置顶小工具--TopMost. 下载链接: https://download.csdn.net/download/k1ttyLove/87579537 运行此软件 ...

  7. Qt 调用 Windows 接口实现窗口置顶

    前言 用 Qt 做 Windows 软件开发,有时候会用到窗口置顶功能,其实 Qt 有自带的接口来实现窗口置顶,但是效果并不太理想,比如说没办法置顶于系统标题栏,或者在全屏状态下如果有键盘事件的时候窗 ...

  8. 奉献一个窗口置顶的小工具

    请先看使用图片: 文件下载地址:Topmost.rar 使用方法是右击任务栏图标,然后选择相应的命令之后,点选要操作的窗口.就这样简单,OK. 右键菜单中还有一个顶层窗口的选项,默认是选中的. 如果去 ...

  9. 说说WinCE的WS_EX_TOPMOST和窗口置顶显示

    //======================================================================== //TITLE: //    说说WinCE的WS ...

最新文章

  1. 亮眼的财报遇到疫情,阿里的生意会好做吗?
  2. nginx通过lua从日志中获得请求响应体
  3. 使Jackson和Mybatis支持JSR310标准
  4. 转载一下如何联系口语
  5. [转帖] BMC安全隐患
  6. python direct_Python-RabbitMQ-direct(广播模式)
  7. 视觉定位VBL 视觉里程计VO 视觉SLAM 区别与联系
  8. 网易:Flink + Iceberg 数据湖探索与实践
  9. mysql中整理设置__MySQL的常用操作命令整理
  10. 小米选择了总是打开方式_小米更改默认程序 小米修改默认程序的打开方式
  11. 百度杯全国网络攻防大赛——初来乍到
  12. mysql group by COLUMN desc问题
  13. 京东怎么打单发货,智能店长一键打单
  14. 计算机网络连接叹号,网络连接不上,教您网络连接不上显示感叹号
  15. kafka 延时消息处理
  16. STM32F407 STM32F407 LWIP速度优化测试速度可以达到1万kb每秒 相当于80兆的网络速度
  17. 【总结】DeepCTR如何构建模型
  18. 运动学解析~旋转矩阵推导
  19. 小明发布_发布会不打算开了?网曝小米之家的小米 9 实拍
  20. 【QT】QT之QElapsedTimer计时

热门文章

  1. Maven引入依赖后自动下载并关联源码(Source)
  2. Tomcat 6 数据源配置
  3. Spring CommonsMultipartResolver 上传文件
  4. 自动化运维工具 Ansible
  5. 子报表修改后需要重新导入,0.00显示.00的调整方法
  6. 一道百度前端线上笔试题
  7. P2839 [国家集训队]middle
  8. js实现星级评分效果(非常规5个li代码)
  9. android style 中一些颜色的定义
  10. emacs 新手笔记(四) —— 使用 dired 完成一些简单的文件和目录操作