Я не понимаю, почему значение memInf.availMem всегда остается неизменным после первого чтения. Например: когда я запускаю свое приложение, значение составляет 0,441 ГБ, но после многократного обновления таймера оно всегда одно и то же.Как я могу обновить значение memInf.availMem?
Как я могу обновить значение? Невозможно, чтобы использование бара всегда было одним и тем же в течение нескольких минут.
Это мой фактически код для обновления значения (но это не работает):
int startUp = 2000; // millisecondi di attesa per fare partire il timer
int periodo = 1000; // millisecondi di attesa per la ripetizione del timer
Timer timer = new Timer(); //timer
//il metodo run viene eseguito ad ogni scadenza del timer
timer.scheduleAtFixedRate(
new TimerTask() {
String c;
public void run() {
c = String.valueOf(roundTreDecimali(memInfo.availMem/1073741824.0)) + " GB";
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
freeram.setText(c);
System.out.println(c);
}
});
}
},
startUp, periodo
);
PS: работа таймера, так как Sistem.out.println (с) писать в моей LogCat величина каждую секунду.
EDIT: я добавить часть моего кода
actManager = (ActivityManager) getActivity().getSystemService(getActivity().ACTIVITY_SERVICE);
memInfo = new ActivityManager.MemoryInfo();
actManager.getMemoryInfo(memInfo);
Спасибо, это работает !!! У меня есть insert actManager.getMemoryInfo (memInfo); в перспективе() :) –