сначала оберните ваши коды оперативной памяти в метод.
int getRam(){
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
ActivityManager activityManager = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getMemoryInfo(memInfo);
String TotalRam = String.valueOf(memInfo.totalMem);
int totaLram = Integer.parseInt(TotalRam);
String freeRam = String.valueOf(memInfo.availMem);
return Integer.parseInt(freeRam);
}
Затем создайте внутренний класс для вашей пользовательской asyncTask. Вы можете использовать цикл for в doInBackground (), а затем периодически вызывать метод onProgressUpdate ().
public class AsyncRamInfo extends AsyncTask<Void, Integer, Void>{
@Override
protected Void doInBackground(Void... voids) {
try {
for (; ; ) { //loop forever
onProgressUpdate(getRam());
Thread.sleep(5000);
}
} catch (InterruptedException e) {
return null;
}
}
@Override
protected void onProgressUpdate(Integer... values) {
Integer ram = values[0];
//display the ram on the UI thread.
textViewRam.setText(" RAM = "+ ram);
}
}