就是有多个activity的应用,比如activity a-->b-->c。
在c的时候我要整个退出应用,如果用android.os.Process.killProcess可以把应用的缓存什么的全清楚并且销毁c, 但是a和b还在。
我现在采取的办法是发消息给所有的activity,然后每个activity自己finish还有个办法是用队列管理所有activity,退出的时候把activity一个一个finish
哪个高手有更好的机制么?
在c的时候我要整个退出应用,如果用android.os.Process.killProcess可以把应用的缓存什么的全清楚并且销毁c, 但是a和b还在。
我现在采取的办法是发消息给所有的activity,然后每个activity自己finish还有个办法是用队列管理所有activity,退出的时候把activity一个一个finish
哪个高手有更好的机制么?
-------------------------
这个不行的,你没亲自试过吧
没法销毁其他activity
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
am.killBackgroundProcesses(getPackageName());and you need add
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
in your manifext
start b/c的时候用startActivityForResult(), c退出的时候setResult()+finish(), 然后在b的onActivityResult()中再setResult()+finish()就会回到a,a再finish(), 这样做在逻辑上比较好理解,并且当你期望从b/c返回一些数据的时候也用得上.
killProcess的方法总感觉太暴力....