2015-09-18 2 views
0

Я не понимаю, почему значение 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); 

ответ

Смежные вопросы