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