美文网首页Android
怎样退出终止APP

怎样退出终止APP

作者: 学不好语文的LJ码农 | 来源:发表于2016-12-07 11:24 被阅读164次

以下内容整理自互联网,仅用于个人学习


1. 链表存储所有Activity

在Application中定义一个单例模式的Activity链表来管理所有Activity,退出时,逐个调用finish()。

2. ActivityManager

在AndroidManifest.xml添加权限

<uses permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" ></uses>

退出应用时,调用

ActivityManager am= (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); 
am.killBackgroundProcesses(this.getPackageName());

3. Dalvik VM的本地方法

android.os.Process.killProcess(android.os.Process.myPid())    //获取PID  
System.exit(0);   //常规java标准退出法,返回值为0代表正常退出

4. Activity启动标记

Android的窗口类提供了历史栈,我们可以通过Stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标记Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。

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

Intent intent = new Intent();  
intent.setClass(this, B.class);  
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG设置  
startActivity(intent);

还可以通过递归退出的方式,在打开新的Activity时使用startActivityForResult()方法来启动,然后自己加标记,在退出时可以递归退出。

5. 广播机制

新建BaseActivity,所有Activity继承该Activity。在BaseActivity中注册广播接收器,在onReceive调用finish()。

6. 强制异常退出

抛出异常使程序Force Close。

相关文章

  • 怎样退出终止APP

    以下内容整理自互联网,仅用于个人学习 1. 链表存储所有Activity 在Application中定义一个单例模...

  • 停止线程

    1.使用退出标志,设置标志位,使线程正常退出,当run方法完成后线程终止 2.使用interrupt()方法终止线...

  • 4-7 ExitApp 和 Exit

    ExitApp 无条件终止脚本.Exit 退出当前线程实例:··· x::ExitApp ; 设定热键来终止当前...

  • 多线程(三)

    线程终止 1.run方法正常退出,线程自然终止2.因为一个没有捕获的异常终止了run方法,线程意外终止 线程中断 ...

  • 线程的停止

    在Java中有以下3中方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止...

  • docker 优雅退出

    本文主要阐述如何让 docker 容器优雅的终止。 优雅退出定义 所谓优雅退出,指的是程序在退出之前,有清理资源、...

  • iOS 仿安卓平滑退出应用或进程退出(exit、_exit、ab

    import Foundation exit和abort都是终止程序执行退出的处理函数,其中exit是正常退出,a...

  • K8S-重启策略+健康检查(应用自修复)

    重启策略: • Always:当容器终止退出后,总是重启容器,默认策略。• OnFailure:当容器异常退出(退...

  • 手动推出

    exit(0);和abort(); exit和abort都是终止程序执行退出的处理函数,其中exit是正常退出,a...

  • iOS 生命周期

    TestDemo APP App 状态 not running: app未启动或终止 inactive: app正...

网友评论

    本文标题:怎样退出终止APP

    本文链接:https://www.haomeiwen.com/subject/qoydmttx.html