Получите использование памяти в Android

Есть ли какой-либо API, которым мы можем получить ЦП или Использование памяти андроида?

Я попробовал один код как указано ниже:

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();
        }
    }
}

Действительно ли это - корректный способ сделать это?

59
задан Re Captcha 7 July 2014 в 08:38
поделиться

1 ответ

Проверьте класс Debug. http://developer.android.com/reference/android/os/Debug.html Debug.getNativeHeapAllocatedSize()

В нем есть методы для получения используемой нативной кучи, которая используется внешними битмапами в вашем приложении. Что касается кучи, которую приложение использует внутри, вы можете увидеть это в инструменте DDMS, который поставляется с Android SDK и также доступен через Eclipse.

Собственная куча + куча, указанная в DDMS, составляют общую кучу, которую выделяет ваше приложение.

Для использования процессора я не уверен, что есть что-то доступное через API/SDK.

2
ответ дан 24 November 2019 в 18:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: