Hello !
Is there any API by which we can get CPU or Memory usage of android?
I have tried one code as below:
Please look into it and let me know if this is the correct way?
package com.infostretch.mainactivity;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class CPULoad
{
long total = 0;
long idle = 0;
float usage = 0;
public CPULoad( )
{
readUsage( );
}
public float getUsage( )
{
readUsage( );
return usage;
}
private void readUsage( )
{
try
{
BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream( "/proc/stat" ) ), 1000 );
String load = reader.readLine();
reader.close();
String[] toks = load.split(" ");
long currTotal = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4]);
long currIdle = Long.parseLong(toks[5]);
this.usage = (currTotal - total) * 100.0f / (currTotal - total + currIdle - idle);
this.total = currTotal;
this.idle = currIdle;
}
catch( IOException ex )
{
ex.printStackTrace();
}
}
}
I will be very thankful for your anykind of help.