В моем приложении я переопределяю метод onLowmemory. Он вызывается каждый раз. И мой мобильный телефон застрял. Как освободить память в этом методе.Приложение для Android при вызове с низкой памятью
Я использую ниже код:
@Override
public void onLowMemory() {
// TODO Auto-generated method stub
super.onLowMemory();
System.out.println("*************************************************");
System.out.println("********** on low memory ************************");
System.out.println("*************************************************");
System.gc();
}
только с помощью System.gc ... спасибо.
Вы не должны использовать System.gc() ;, найти то, что потребляет память (возможно, большие изображения) –
Вы читали [Javadoc для 'onLowMemory()') (http://developer.android.com/reference /android/app/Application.html#onLowMemory%28%29)? * «Вы должны реализовать этот метод, чтобы освободить любые кеши или другие ненужные ресурсы, которые вы можете удержать. Система выполнит сборку мусора для вас после возвращения из этого метода». * Итак, 1) вызов 'System.gc() 'бесполезно, и 2) вы должны освободить любые кэши/ресурсы, находящиеся в памяти, которые вам не нужно поддерживать в вашем приложении (т. е. материал, который можно перезагрузить с диска/db/network и т. д.). –
Этот метод вызывается, когда общая система работает на низком уровне в памяти, а активно выполняемые процессы должны обрезать их использование в памяти. Хотя точная точка, в которой это будет вызвана, не определена, обычно это происходит, когда весь фоновый процесс был убит. То есть, прежде чем достигнуть точки убийства процессов хостинга и пользовательского интерфейса переднего плана, мы хотели бы избежать убийства. читайте официальный андроидный документ http://developer.android.com/reference/android/app/Application.html#onLowMemory%28%29 –