做Android程序的时候发现一个问题,由于用到了so库,当应用程序退出了,但是手机变得很卡,点击"设置"查看应用程序,界面显示着可以点击"强制关闭". 
由于这个问题就是,在应用程序退出之后,系统并没有释放掉我应用程序所占内存. 

之后在网上查解决办法.说是有两个: 

方式一: 
Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
this.startActivity(intent); 
System.exit(0); 

方式二
android.os.Process.killProcess(android.os.Process.myPid()); 


有的人说可以结束掉应用程序,但是不知道什么原因,我在试用了这两个方法之后都还是不能结束掉我的应用程序. 
我在在点击"设置"查看我应用的时候,界面还是显示可以点击"强制关闭". 
但是,用这两个方法是可以释放掉应用程序所占内存的. 
严重的问题解决了,那个可以点击"强制关闭"的问题貌似也不会造成什么影响.所以这个问题我也没解决了. 
最后说下这两种方式和在哪使用吧. 
第一种方式是退出虚拟机,使用这种方式,要注意的是,如果设备装有两个或多个应用中的activity的Category为HOME的 
应用,那么每当退出这个应用的时候,设备都会让用户选择进入到哪个应用. 

第二种方式是kill掉当前应用进程.它不会发生让用户选择进入哪一个应用这种情况.  

在哪里使用的话,一般是在最后一个activity的onDestroy()方法中使用这两种方法 。

我的程序使用了service,允许后台运行,因此在service的 onDestroy()方法中加入如下代码:
@Override 

protected void onDestroy() { 

// TODO Auto-generated method stub 

super.onDestroy(); 

// release application's RAM 

android.os.Process.killProcess(android.os.Process.myPid());