当前位置: 首页 > news >正文

机械建设网站制作湖南建设网站官网

机械建设网站制作,湖南建设网站官网,php网站开发实例教程,建设工程司法解释(一)直奔主题,现在介绍一下Android中结束进程的几种方法。 1.void restartPackage(String packageName) 该方法为Deprecated,实际调用的是killBackgroundProcesses(packageName)方法: 下面主要介绍一下 killBackgroundProcesses 方法。 2.void killBac…

直奔主题,现在介绍一下Android中结束进程的几种方法。

1.void restartPackage(String packageName)
该方法为@Deprecated,实际调用的是killBackgroundProcesses(packageName)方法:
这里写图片描述
下面主要介绍一下 killBackgroundProcesses 方法。

2.void killBackgroundProcesses(String packageName)
该方法返回值为空,所以我们不知道我们要杀掉的进程是否被杀死。但是他可 以根据包名结束另外一个进程。需要添加权限:<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
这里写图片描述
下面我们来看一下它依次调用的函数:

  • 调用ActivityManagerNative的killBackgroundProcesses方法

    这里写图片描述

  • 其中mRemote的类型是Binder,调用的函数为
    java
    mRemote.transct(int,Parcel,Parcel,int )

3. kill -9 pid 命令
shell命令是Linux命令,Android底层是linux系统,所以Android上可以使用所有Linux 终端命令。
Ⅰ.这里的kill指的是shell command的那个kill,输入man kill可以看到kill的作用(如下图):向某个指定的进程进程或进程租发送信号,从而结束该进程/进程租。只有”super-user”即Android root用户才能使用。
这里写图片描述

Ⅱ.kill命令支持发送的信号列表如下:

这里写图片描述

Ⅲ. kill -9 pid命令,是向进程号为pid的进程发送SIGKILL信号,SIGKILL既不能被应用程序捕获,也不能被阻塞或忽略,其动作是立即结束指定进程。也就是说,应用程序无法感应到SIGKILL信号,就会被收到SIGKILL信号的操作系统给杀死了。

4.am force-stop packagenam命令

am命令是Android在shell控制台通过am命令来发送Intent,它的源码位置在frameworks/base/cmds/am。其本身就是用java代码实现的。

am脚本文件:

am脚本文件

Ⅰ.Android执行am命令其实就是通过运行shell脚本,然后在该脚本中运行app_process命令启动am.jar下的Am.java程序

Ⅱ.am.jar位置:/system/framework/am.jar

这里写图片描述

Ⅲ.Am.java下froce-stop pkgName源码:

让我们来看一下Am到底是什么:
首先,Am继承自BaseCommand:

这里写图片描述

读入命令并分析命令:

这里写图片描述

op为读取到的命令字符串,若命令为”force-stop”调用runForceStop()函数。
runForceStop()函数:

这里写图片描述

其实调用的是forceStopPackage(),mAm类型为IActivityManager类型,也就是调用 ActivityManager的forceStopPackage()函数。
forceStopPackage()函数:

这里写图片描述

最终调用 ActivityManagerNative.forceStopPackage() 方法:

这里写图片描述

总结:三种结束进程方法对比
方法介绍root权限Mainfest权限
killBackgroundProcesses系统根据包名来杀掉进程,并且如果系统需要这些进程的话,会重新启动这些进程。noyes
kill -9 pidshell命令,此命令为Linux命令,Android底层是Linux,所以Android上可以使用所有Linux终端命令。yesno
am force-stop packageNameam是Android系统中/system/bin/目录下的一条命令。不仅可以在终端下启动应用程序,还可以启动Service、发送广播以及Intent、force stop process等。yesno
效果:

1.killBackgroundProcesses(pkgName):不能杀死如QQ、微信等这样的『顽固进程』

2.kill -9 pid:可以杀死类似于QQ、微信这样的进程,但是进程被杀死后又会重新启动。(一个正在运行的应用可能不止有一个进程,此时需要注意把该应用所有的进程全部杀死)

3.am force-stop packageName : 可以杀死类似QQ、微信这样的『顽固进程』,并且不会重启,效果同『设置』->『应用』->『应用程序名』->『强行停止』。会将整个程序所有进程全部杀死,无法收到一些推送消息、即时消息。

http://www.yayakq.cn/news/958991/

相关文章:

  • wordpress删除数据库汕头seo外包
  • 定制家具网站源代码如何申请我的网站
  • 书吧网站设计论文网站如何做谷歌优化
  • 很长的网站域名怎么做短时代设计网 新网站
  • 什么值得买网站模板有没有做高仿手表的网站
  • 企业内部信息网站如何建设荣成市信用建设官方网站
  • 如何查网站pvWordPress是什么编写
  • 郑州网站关键词推广写网站的教程
  • 用react和ant.d做的网站例子wordpress首页表单
  • 商务之家网seo排名策略
  • 做设计必须知道的几个网站吗seo零基础培训
  • 外贸公司如何做公司网站做证书的网站
  • seo网站建设厦门打开网站出现directory
  • 产品推广的网站怎么做wordpress跨境平台
  • 淘宝店铺可以做网站优化么网站如何做支付接口
  • 营销行网站建设大神自己做的下载音乐的网站
  • 网站上传发生一个ftp错误网站建设 阿里巴巴旗下
  • 建站计划书网站html地图导航代码
  • 专业的企业网站定制公司wordpress 仿主题下载
  • 网站建设捌金手指花总六商业网站开发实训内容
  • 南宁市网站建设襄阳云平台网站建设
  • 桥东区住房和建设局网站企业建网站方案
  • 做电影网站用什么程序oppo商店官网入口
  • 金泉网做网站电话四川网站建设电话
  • 运动服饰网站建设项目规划书怎么优化自己网站
  • 注册公司网站流程微博优惠券网站怎么做的
  • 网站备案符号高手总结wordpress函数
  • 网站制作和app制作网站建设方案书生鲜
  • 最新备案网站查询网站建设中手机版
  • 做网站排在前十名要多少钱网站开发客户对话