Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
想通过编程从未安装android设备的ram中清除未使用的内存吗_Android_Ram - Fatal编程技术网

想通过编程从未安装android设备的ram中清除未使用的内存吗

想通过编程从未安装android设备的ram中清除未使用的内存吗,android,ram,Android,Ram,我想做一个ram助推器应用程序。在长达两个月的时间里,我一直试图以编程方式从android设备的ram中清除未使用的数据。虽然通过搜索互联网,我找到了删除自身未使用数据的代码,但我找不到任何直接用于清理ram未使用数据的代码。 我也使用了一些来自互联网的代码,但没有得到任何结果。 我想听听你对我如何做的建议。 这是我尝试过的一个代码。使用这段代码,我看到在运行应用程序后,它会清除应用程序中的一些内存,但几秒钟后,ram内存再次填满 List<ApplicationInfo> pack

我想做一个ram助推器应用程序。在长达两个月的时间里,我一直试图以编程方式从android设备的ram中清除未使用的数据。虽然通过搜索互联网,我找到了删除自身未使用数据的代码,但我找不到任何直接用于清理ram未使用数据的代码。 我也使用了一些来自互联网的代码,但没有得到任何结果。 我想听听你对我如何做的建议。 这是我尝试过的一个代码。使用这段代码,我看到在运行应用程序后,它会清除应用程序中的一些内存,但几秒钟后,ram内存再次填满

List<ApplicationInfo> packages;
        PackageManager pm;
        pm = getPackageManager();

        packages = pm.getInstalledApplications(0);


        ActivityManager mActivityManager = (ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);

        for (ApplicationInfo packageInfo : packages) {
            if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue;
            if(packageInfo.packageName.equals("mypackage")) continue;
            mActivityManager.killBackgroundProcesses(packageInfo.packageName);
            // mActivityManager.restartPackage(packageInfo.packageName);
       }
列出软件包;
包装经理;
pm=getPackageManager();
软件包=pm.GetInstalledApplication(0);
ActivityManager MacActivityManager=(ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_服务);
对于(ApplicationInfo packageInfo:packages){
如果((packageInfo.flags&ApplicationInfo.FLAG_SYSTEM)==1)继续;
如果(packageInfo.packageName.equals(“mypackage”))继续;
mActivityManager.killbackgroundprocesss(packageInfo.packageName);
//mActivityManager.restartPackage(packageInfo.packageName);
}

如果你制作了一款RAm增强应用程序,那么首先调查android的工作原理是值得的。安卓RAM应该被填满——或者至少是一个很高的部分。这使得在应用程序之间切换变得非常快捷

Android会在需要时自动关闭旧进程(释放RAM)。如果你看到应用程序在几分钟后回来,那是因为框架正在尝试重新填充RAM

清理windows上的RAM很好:如果内存满了,你的电脑会变慢
清理Android上的RAM不好:如果RAM为空,则需要在启动时重新初始化所有进程。

您不必担心内存问题,因为Android知道在当前应用程序堆栈需要内存时,哪些应用程序需要终止或挂起。可以使用finish()方法修改应用程序的使用情况,该方法将关闭调用finish方法的活动。

    System.runFinalization();
    Runtime.getRuntime().gc();
    System.gc();

在主要活动的ondestroy方法中。

您认为为什么需要它?