文档章节

[Android] Android杀死进程方法

枫兮兮
 枫兮兮
发布于 2014/03/10 01:21
字数 339
阅读 3173
收藏 1

  1. android.os.Process.killProcess(pid)

  只能终止本程序的进程,无法终止其它的

  具体代码如下:

  Process.killProcess(Process.myPid());
Process.killProcess(Process.myPid());

  2. System.exit(int code)

  例如: System.exit(0);

  该方法只能用于结束当前进程自身,在程序遇到异常,无法正常执行时,可以 通过这个方法强制退出。 

  需要注意的是: android.os.Process.killProcess(pid) 和 System.exit(int code)会导致进程非正常退出,进程退出时不会去执行Activity的onPause、onStop和onDestroy方法,那么进程很有可能错过了保存数据的机会。因此,这两个方法最好使用在出现异常的时候!大家需要注意其使用方法。

     3. Android 结束进程,关闭程序的方法 即采用下面这个类

  使用这个类的具体源代码

final ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);   
am.restartPackage(getPackageName());

   不要忘记了在配置文件中设置权限:

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

  4. 在android2.2版本之后则不能再使用restartPackage()方法,而应该使用killBackgroundProcesses()方法

  manager.killBackgroundProcesses(getPackageName());

  使用示例代码如下:

ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);   
manager.killBackgroundProcesses(getPackageName());

//需要在xml中加入权限声明    

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


注意:第一种和第一种只能结束自身进程,无法结束其它进程;第三种和第四种只能结束其它进程,不能结束自身进程;


© 著作权归作者所有

共有 人打赏支持
枫兮兮
粉丝 10
博文 72
码字总数 27211
作品 0
成都
私信 提问
Android 进程和线程(一)

当一个应用程序组件启动并且应用还没有运行任何其他组件时,Android系统会给应用程序启动一个新的带有单一执行线程的Linux进程。默认情况下,同一应用程序的所有组件都运行在相同的进程和线程...

长平狐
2012/10/16
74
0
Android Activity---管理Activity的生命周期

通过实现回调方法来管理Activity的生命周期是开发强壮和灵活应用程序的关键。Activity的生命周期直接受到与之相关的Activity、任务和回退堆栈的影响。 Activity存在基本的三种状态: 恢复态(...

长平狐
2012/10/16
292
0
android 安全退出应用程序

正常关闭应用程序: 当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用: 第一种方法:首先获取当前进程的id,然后杀死该进程。 android.os.Process.killProcess(and...

长平狐
2012/09/03
248
0
Android安全模型之Android安全机制(内存管理)

Ashmem匿名共享内存 Android的匿名共享内存(Ashmem)机制基于Linux内核的共享内存,但是Ashmem与cache shrinker关联起来,增加了内存回收算法的注册接口,因此Linux内存管理系统将不再使用内...

柳哥
2014/12/02
0
0
Android 操作系统的内存回收机制

Android 是一款基于 Linux 内核,面向移动终端的操作系统。为适应其作为移动平台操作系统的特殊需要,谷歌对其做了特别的设计与优化,使应用程序关闭但不退出,并由操作系统进行进程 的回收管...

IBMdW
2012/08/11
14.6K
7

没有更多内容

加载失败,请刷新页面

加载更多

如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
2
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
4
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
4
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
3
0
远程获得的有趣的linux命令

使用这些工具从远程了解天气、阅读资料等。 我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到开始,从头看过来。你会发现 Linux 终端有很多游戏、消遣和...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部