Autore Topic: Visualizzare memoria libera in una textview  (Letto 507 volte)

Offline punticci

  • Utente junior
  • **
  • Post: 78
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
Visualizzare memoria libera in una textview
« il: 22 Maggio 2013, 11:11:27 CEST »
0
Presento un altro piccolo "problema".. in realtà non è cosi influente nel mio caso però mi piacerebbe sapere se c'è un sistema per visualizzare la memoria ram libera in tempo reale da una textview o in qualsiasi altro modo. Mi spiego, ad esempio si apre la mia applicazione e all'interno trovo il titolo dell'applicazione con relative spiegazioni di quello che dovrebbe fare e sotto una scritta tipo "In questo momento la tua memoria libera è di  : blablabla MB". E' fattibile?

Post unito: 22 Maggio 2013, 12:02:06 CEST
Ho trovato questo codice qui sul web :
Codice: [Seleziona]
MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;
Ora mi chiedo, è possibile fare una cosa del genere?:
Codice (Java): [Seleziona]
public static long getFreeMemorySize() {

MemoryInfo mi = new MemoryInfo();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.getMemoryInfo(mi);
long availableMegs = mi.availMem / 1048576L;    

}
Fatto ciò dovrei riuscire a stampare in qualche modo i valori. Non so se sia possibile però richiamando la funzione. Non so se mi sono spiegato..
« Ultima modifica: 22 Maggio 2013, 12:02:06 CEST da punticci, Reason: Merged DoublePost »

Offline NanoAndroide

  • Utente junior
  • **
  • Post: 63
  • Respect: +3
    • Google+
    • Mostra profilo
    • MeToo
  • Dispositivo Android:
    GT-S5570
  • Play Store ID:
    MeToo
  • Sistema operativo:
    Windows 7
Re:Visualizzare memoria libera in una textview
« Risposta #1 il: 01 Giugno 2013, 14:11:52 CEST »
0
Non so se sia possibile però richiamando la funzione. Non so se mi sono spiegato..

Non ho capito bene cosa intendi, ma per conoscere la quantità di memoria libera ci sono diversi approcci. Ti mostro un esempio:

Codice (Java): [Seleziona]
public class MainActivity extends Activity {

        TextView tv; Button btn;
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
               
                tv = (TextView) findViewById(R.id.memoTXT); // la textview in cui mostrare il risultato
                btn = (Button) findViewById(R.id.button1); // il bottone per chiedere l'informazione
                btn.setOnClickListener(listener);              
               
               
        }
       
        OnClickListener listener=new View.OnClickListener() {
               
                @Override
                public void onClick(View v) {
                       
                        if (v==btn) tv.setText(getMemoryInfo(1)); // la chiamata alla funzione su pressione del button
                                               
                }
               
        };

        public static String getMemoryInfo(int CosaVuoiVedere) {

            long memoriaTotale = 0L;
            long memoriaLibera = 0L;       
            long memoriaUsata = -1L;
            String valoreRitornato = "";
           
            try {

                Runtime info = Runtime.getRuntime();
                memoriaLibera = info.freeMemory();
                memoriaTotale = info.totalMemory();
                memoriaUsata = memoriaTotale - memoriaLibera;

            } catch (Exception e) {

                e.printStackTrace();

            }
           
            switch (CosaVuoiVedere){
           
                case 0: valoreRitornato+=memoriaTotale; break;
                case 1: valoreRitornato+=memoriaLibera; break;
                case 2: valoreRitornato+=memoriaUsata; break;
           
            }
               
            return valoreRitornato;

        }
       
}

Il metodo getMemoryInfo() ti permette di vedere memoria usata, libera o totale a seconda del valore passato in parametro.  ;-)