//http://www.cnblogs.com/Amandaliu/archive/2012/08/02/2598876.html
public static void exit(Context context){
Log.i(TAG, "Tool exit pid="+android.os.Process.myPid()+",tid="+Thread.currentThread().getId()+
",mytid="+android.os.Process.myUid()+",tname="+Thread.currentThread().getName());
//需要申请权限<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
//ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
//manager.killBackgroundProcesses(getApplicationContext().getPackageName());
//android.os.Process.sendSignal(android.os.Process.myPid(),android.os.Process.SIGNAL_KILL);//发送杀死信号
//android.os.Process.sendSignal(android.os.Process.myPid(),android.os.Process.SIGNAL_QUIT);//发送退出信号
//android进程完美退出方法。
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
//intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//让Activity的生命周期进入后台,否则在某些手机上即使sendSignal 3和9了,还是由于Activity的生命周期导致进程退出不了。除非调用了Activity.finish()
context.startActivity(intent);
android.os.Process.killProcess(android.os.Process.myPid());
//System.runFinalizersOnExit(true);
System.exit(0);
}