清理android中应用程序的内存使用情况

时间:2014-06-06 08:08:38

标签: android memory

如何以编程方式清除android中的应用程序内存使用情况?例如,清理内存使用以增加内存,例如" CLEAN MASTER"应用

1 个答案:

答案 0 :(得分:2)

这没用。

首先,要了解原因,您必须了解UNIX(以及Android)如何管理RAM。

Link to the XDA-Forum可以提供帮助。

基本上它表示将应用程序加载到RAM中以获得更好的访问时间和更流畅的感觉。他们不使用CPU或耗尽电池

事实上,如果你清空RAM,系统必须再次将这些必要的应用程序(例如app-drawer)加载到RAM中,这肯定会使用CPU,从而耗尽你的电池。

简短:清除内存成本电池。而且我无法想象你是如何拥有这个的;)

要了解有关Android内存管理的更多信息,请参阅Android Developers上的指南。

如果您仍想以编程方式清除内存,可以参考this question

简而言之,它表示您可以按照以下方式执行此操作(未经测试):

@Override
protected void onDestroy(){
 super.onDestroy();
 Java.Lang.Runtime.GetRuntime().RunFinalization();
 Java.Lang.Runtime.GetRuntime().Gc();                   
 trimCache(this.ApplicationContext);
}

public void trimCache(Context context)
   {
       try
       {
           Java.IO.File dir = context.CacheDir;
           if (dir != null && dir.IsDirectory)
           {
               deleteDir(dir);
           }
           context.DeleteDatabase("webview.db");
           context.DeleteDatabase("webviewCache.db");
       }
       catch (Exception e)
       {
           CostantsLift.WriteTextFile("   trimCache ", e.Message, currDate);
           // TODO: handle exception
       }
   }

   public bool deleteDir(Java.IO.File dir)
   {
       if (dir != null && dir.IsDirectory)
       {
           String[] children = dir.List();
           foreach (string child in children)
           //for (int i = 0; i < children.Length; i++)
           {
               bool success = deleteDir(new Java.IO.File(dir, child));
               if (!success)
               {
                   return false;
               }
           }
       }

       // The directory is now empty so delete it
       return dir.Delete();
   }