我的应用程序在使用时会占用大量内存。我想在不使用应用程序时释放内存。
我已经实现了 Application.onTrimMemory()
。但是即使我的应用程序当前正在使用中(向用户呈现一个 Activity ),也会调用此方法。如何确定我的应用程序的任何 Activity 当前是否处于 Activity 状态?
minSdkVersion="9"
最佳答案
使用这个简单的方法来检查应用程序是否在前台运行!
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;
}
关于android - 如何确定当前是否正在使用 Android 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21574125/