迁移源地址为:《Android 退出的两种方式》
今天在做退出登录的时候,发现了一个问题,正常退出以后,数据还有残留,再登陆进入的时候,主界面的图还有残留的数据。;
我们在退出应用的时候,需要清除用户的数据,结束相应的Service,Broadcast Receiver,或者是SharedPrefrence。
这里提供两种方法:
在Android中,Activity有个栈,一个Activity结束掉,会回到上一个Activity,并不是退出应用程序。
Android中,退出应用程序的方式:
1.通过pid
int pid = android.os.Process.myPid(); //获取当前应用程序的PID
android.os.Process.killProcess(pid); //杀死当前进程
这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。
2.通过ActivityManager
ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //获取应用程序管理器
manager.killBackgroundProcesses(getPackageName()); //强制结束当前应用程序搜索
这种方式退出应用,会结束本应用程序的一切活动,因为本方法会根据应用程序的包名杀死所有进程包括Activity,Service,Notifications等。