如果确定Android应用目前是否正在使用?

时间:2014-02-05 10:07:24

标签: android memory

我的应用在使用时会占用大量内存。我想在不使用应用程序时释放内存。

我已实施Application.onTrimMemory()。但即使我的应用程序当前正在使用(向用户显示活动),也会调用此方法。如何确定我的应用的任何活动目前是否有效?

的minSdkVersion = “9”

1 个答案:

答案 0 :(得分:1)

使用这个简单的方法检查应用程序是否在前台运行!

public boolean isAppForground() {

        ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> l = mActivityManager.getRunningAppProcesses();
        Iterator<RunningAppProcessInfo> i = l.iterator();
        while (i.hasNext()) {
            RunningAppProcessInfo info = i.next();

            if (info.uid == getApplicationInfo().uid && info.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                return true;
            }
        }
        return false;
    }
相关问题