1、若是只有一个单独Activity的工程,例如Activity A 调用android.app.Activity.finish()的话,并不会关闭该工程,只是使之不处于前台,而被置于后台。
参考网上的方法,可以调用android.os.Process.killProcess(android.os.Process.myPid());这种方法确实是可以关闭该工程进程的,您可以到应用程序管理里头看看,该工程已不存在于Running中。
2、但是若是多个的Activity的工程,例如Activity A——>Activity B,而在Activity B中调用android.os.Process.killProcess(android.os.Process.myPid());
这种方法应该只是关闭当前的Activity,接着系统会重构之前的Activity A(记住,这里说的是重构,意思是:并不会调用Activity A 的onRestart(),而是调用OnCreate())
this sentence helped me a lot!!!
3、That's how Android works. The user/developer is not given any way to actually exit the application. When you call finish(), the application stack is just pushed to the background. It still exists in the memory. Android itself decides when to close the application(i.e. remove its instance from the memory) and generally this is done when your application becomes the oldest application which was not used for the longest time.