2014-02-05 14 views
2

我的應用程序在使用時會佔用大量內存。我想在應用程序不使用時釋放內存。如何確定,如果Android應用程序目前正在使用?

我已經實施Application.onTrimMemory()。但是,即使我的應用程序當前正在使用(向用戶呈現活動),也會調用此方法。如何確定我的應用程序的任何活動目前是否有效?

的minSdkVersion =「9」

回答

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; 
    } 
相關問題