Android结束APP进程以及判断进程是否存在

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37577039/article/details/79680320

Android结束APP进程以及判断进程是否存在

1 androidstudio 的 stop app 是结束 app 下次启动 会从头启动

2 通过 DDMS 结束进程

tools->android device monitor

等十几秒,弹出新对话框,然后左上角可以看到进程名 点击stop即可
模仿的 是 系统杀死进程

3 而 android开发者选项中的 不保持活动选项 则是每个界面都不保存
当activity被强杀时,系统会调用onSaveInstance去让你保存一些变量

判断进程是否存在

public class IsAppProcessExist {

    /**
     *  判断进程是否存活
     */
    public static boolean isProcessExist(Context context, int pid) {

        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> lists ;
        if (am != null) {
            lists = am.getRunningAppProcesses();
            for (ActivityManager.RunningAppProcessInfo appProcess : lists) {
                if (appProcess.pid == pid) {
                    Log.e("TAG","333333");
                    return true;
                }
            }
        }
        return false;
    }
}

调用:

IsAppProcessExist.isProcessExist(context,android.os.Process.myPid());

但是注意的是,不能用于判断自身是否被杀死然后执行相关操作 因为 你能去执行这个代码 说明你的进程就没有被杀死


注意:app被杀死后, 变量 包括static的变量 以及application的实例 都会结束
并且 会回到上一个 结束的界面 并重新 oncreate 若继承了 baseActivity 则 baseActivity也会oncreate
而不是重新启动APP走重启流程

展开阅读全文

没有更多推荐了,返回首页