La mayoría del sistema operativo Android (que es modificado por el fabricante) está equipado con un amplificador de RAM incorporado. Sin embargo, muy pocos de ellos funcionan automáticamente. Yo uso MIUI 8 que cuenta con un limpiador de RAM incorporado que funciona de maravilla. En realidad, Android o cualquier sistema basado en Java asignó una gran cantidad de RAM al inicio de una aplicación que se supone que acelerará la asignación de memoria en el futuro, lo que le brinda una mejor experiencia de usuario. Sin embargo, la limpieza de la memoria o la liberación de la memoria es muy costosa porque en realidad requiere más RAM de la que libera. En el sistema Android, una aplicación nunca se cierra (como en Windows) y siempre se empuja hacia atrás. Sigue funcionando a menos que el sistema operativo sienta que es necesario liberar algo de RAM.
Los teléfonos Android sí necesitan un limpiador de memoria. Pero no creo en los limpiadores de RAM disponibles, ya que la mayoría de ellos son falsos y muestran datos aleatorios.
Creé mi propia aplicación de limpieza de RAM que mata todas las aplicaciones de terceros y muestra la memoria liberada real. Y funciona muy bien. Aquí está el código:
paquete sbs.com.rambooster;
importar android.app.ActivityManager;
importar android.content.pm.ApplicationInfo;
importar android.content.pm.PackageManager;
importar android.os.AsyncTask;
importar android.support.v7.app.AppCompatActivity;
importar android.os.Bundle;
importar android.util.Log;
importar android.widget.TextView;
- Cómo recuperar notificaciones perdidas en mi Android
- Cómo usar la aplicación Tez en un teléfono Android rooteado
- ¿Quién no ha recibido la actualización de Android Lollipop hasta ahora en el Nexus 5?
- Cómo transferir fácilmente mis archivos de un Android a iPhone
- ¿Cuántos mAh necesita cargar un teléfono Android?
import java.util.List;
clase pública MainActivity extiende AppCompatActivity {
TextView textStat;
@Override protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
textStat = (TextView) findViewById (R.id.txtStat);
nuevo RamCleanerService (). execute ();
}
clase pública RamCleanerService extiende AsyncTask {
@Override protegido Void doInBackground (Void … params) {
killRunningApps ();
volver nulo;
}
}
privado vacío killRunningApps () {
PackageManager pm = getPackageManager ();
List installedApps = pm.getInstalledApplications (0);
ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo ();
ActivityManager activityManager = (ActivityManager) getSystemService (ACTIVITY_SERVICE);
activityManager.getMemoryInfo (mi);
append (“Memoria disponible:” + (mi.availMem) / 1048576L + “MB /” + (mi.totalMem / 1048576L) + “MB \ n”);
append (“Aplicaciones abiertas actualmente … \ n”);
agregar (“————————— \ n”);
para (ApplicationInfo ai: installedApps) {
if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
continuar;
} más {
Log.e (“Aplicación de terceros”, ai.packageName + “(” + pm.getApplicationLabel (ai) + “)”);
append (pm.getApplicationLabel (ai) + “\ n”);
}
}
agregar (“————————— \ n”);
agregar (“————————— \ n”);
para (ApplicationInfo ai: installedApps) {
if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
continuar;
} más {
append (“Aplicación de cierre” + pm.getApplicationLabel (ai) + “\ n”);
activityManager.killBackgroundProcesses (ai.packageName);
}
}
agregar (“————————— \ n”);
agregar (“————————— \ n”);
activityManager.getMemoryInfo (mi);
append (“Memoria disponible:” + (mi.availMem) / 1048576L + “MB /” + (mi.totalMem / 1048576L) + “MB \ n”);
}
public void append (texto final de la cadena) {
runOnUiThread (new Runnable () {
@Override public void run () {
textStat.append (txt);
}
});
}
}