应用程序运行的时间

时间:2010-10-11 05:12:32

标签: android

如何确定应用程序运行的时间?每次启动和关闭应用程序时是否有广播?

我正在尝试记录使用应用程序所花费的时间。

3 个答案:

答案 0 :(得分:8)

如果您对记录自己的应用程序的使用感兴趣,可以使用System.currentTimeMillis()来获取开始时间,并使用应用程序关闭时返回的值进行区分。

要获得应用程序启动的整个时间,您可能需要在最重要的Activity类的onCreate()onDestroy()之间进行区分。对于应用程序位于前台的时间,请在每个Activity类中使用onResume()onPause(),并将每个类的时间相加。

答案 1 :(得分:1)

代码:

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE);

long currentMillis = Calendar.getInstance().getTimeInMillis();
Calendar cal = Calendar.getInstance();

for (ActivityManager.RunningServiceInfo info : services) {
  cal.setTimeInMillis(currentMillis-info.activeSince);

  Log.i("TAG", String.format("Process %s has been running since: %d ms",info.process,  info.activeSince));
}

logcat的:

TAG: Process com.android.bluetooth has been running since: 26526 ms
TAG: Process com.qualcomm.telephony has been running since: 68521 ms
TAG: Process com.motorola.ccc has been running since: 57456 ms
TAG: Process com.google.android.music:main has been running since: 26245 ms
TAG: Process com.android.phone has been running since: 29421 ms
TAG: Process com.motorola.ccc has been running since: 52141 ms
TAG: Process system has been running since: 28602 ms
TAG: Process com.motorola.actions has been running since: 74371 ms
TAG: Process com.motorola.ccc has been running since: 59166 ms
TAG: Process com.motorola.process.slpc has been running since: 25483 ms
TAG: Process com.android.systemui has been running since: 30142 ms
TAG: Process com.android.bluetooth has been running since: 22187 ms
TAG: Process system has been running since: 28603 ms
TAG: Process com.google.android.gms.persistent has been running since: 31621 ms
TAG: Process com.android.systemui has been running since: 27361 ms
TAG: Process com.google.android.gms.persistent has been running since: 99678 ms
TAG: Process com.motorola.contacts.preloadcontacts has been running since: 45603 ms
TAG: Process com.google.android.gms.persistent has been running since: 73457 ms
TAG: Process com.google.android.gms.persistent has been running since: 72908 ms
TAG: Process com.google.android.gms.persistent has been running since: 37251 ms
TAG: Process com.motorola.modemservice has been running since: 37049 ms
TAG: Process .esfm has been running since: 44187 ms
TAG: Process com.google.android.gms has been running since: 14875780 ms
TAG: Process com.google.android.gms.persistent has been running since: 94606 ms
TAG: Process com.motorola.ccc has been running since: 66227 ms
TAG: Process com.android.bluetooth has been running since: 31682 ms
TAG: Process com.motorola.modemservice has been running since: 37051 ms
TAG: Process com.android.bluetooth has been running since: 32869 ms
TAG: Process com.google.android.gms.persistent has been running since: 99691 ms
TAG: Process com.motorola.ccc has been running since: 92883 ms
TAG: Process com.motorola.cameraone has been running since: 75193 ms
TAG: Process com.motorola.ccc has been running since: 57465 ms
TAG: Process com.google.android.gms.persistent has been running since: 74054 ms
TAG: Process com.estrongs.android.pop has been running since: 42158 ms
TAG: Process com.motorola.process.system has been running since: 27632 ms
TAG: Process com.android.bluetooth has been running since: 26540 ms
TAG: Process com.google.android.gms.persistent has been running since: 42027 ms
TAG: Process com.estrongs.android.pop has been running since: 42334 ms
TAG: Process com.google.android.gms.persistent has been running since: 99627 ms
TAG: Process com.motorola.slpc has been running since: 25575 ms
TAG: Process com.snaptube.premium has been running since: 42312 ms
TAG: Process com.android.bluetooth has been running since: 27324 ms
TAG: Process com.estrongs.android.pop has been running since: 10845469 ms
TAG: Process com.qualcomm.qcrilmsgtunnel has been running since: 29328 ms
TAG: Process com.motorola.config.wifi has been running since: 50966 ms
TAG: Process com.google.android.gms has been running since: 13422977 ms
TAG: Process com.motorola.modemservice has been running since: 67877 ms
TAG: Process com.google.android.gms.persistent has been running since: 99699 ms
TAG: Process com.motorola.process.system has been running since: 93567 ms
TAG: Process com.android.systemui has been running since: 25460 ms
TAG: Process com.google.android.talk has been running since: 14632240 ms
TAG: Process system has been running since: 27605 ms
TAG: Process com.estrongs.android.pop:ka has been running since: 42437 ms
TAG: Process system has been running since: 28600 ms
TAG: Process com.google.android.gms.persistent has been running since: 40725 ms
TAG: Process com.motorola.slpc has been running since: 25556 ms
TAG: Process com.motorola.ccc has been running since: 57484 ms
TAG: Process com.google.android.gms.persistent has been running since: 35677 ms
TAG: Process com.google.android.gms.persistent has been running since: 32947 ms
TAG: Process com.snaptube.premium has been running since: 123580 ms
TAG: Process com.google.android.gms.persistent has been running since: 94452 ms
TAG: Process system has been running since: 28244 ms
TAG: Process com.estrongs.android.pop has been running since: 41920 ms
TAG: Process com.motorola.process.system has been running since: 68805 ms
TAG: Process system has been running since: 29054 ms
TAG: Process com.google.android.gms.persistent has been running since: 33060 ms
TAG: Process com.motorola.ccc has been running since: 52153 ms
TAG: Process com.google.android.gms.persistent has been running since: 31658 ms
TAG: Process com.google.android.gms.persistent has been running since: 28665 ms
TAG: Process com.google.android.gms.persistent has been running since: 30579 ms
TAG: Process com.google.android.inputmethod.latin has been running since: 27422 ms
TAG: Process com.motorola.motocare has been running since: 68330 ms
TAG: Process system has been running since: 25415 ms
TAG: Process com.motorola.ccc has been running since: 59215 ms
TAG: Process android.process.media has been running since: 13885530 ms
TAG: Process com.google.android.gms.persistent has been running since: 74301 ms
TAG: Process com.motorola.actions has been running since: 73981 ms
TAG: Process com.android.bluetooth has been running since: 27310 ms
TAG: Process com.motorola.process.system has been running since: 68538 ms
TAG: Process com.google.android.googlequicksearchbox:interactor has been running since: 27343 ms
TAG: Process system has been running since: 24919 ms
TAG: Process com.google.android.apps.messaging:rcs has been running since: 69945 ms
TAG: Process com.google.android.gms.persistent has been running since: 73045 ms
TAG: Process com.google.android.gms.persistent has been running since: 28213 ms
TAG: Process com.google.android.gms.persistent has been running since: 99706 ms
TAG: Process com.snaptube.premium has been running since: 39033 ms
TAG: Process com.android.bluetooth has been running since: 26533 ms
TAG: Process com.android.phone has been running since: 29411 ms
TAG: Process com.motorola.process.system has been running since: 94766 ms
TAG: Process com.snaptube.premium has been running since: 14530932 ms
TAG: Process com.android.bluetooth has been running since: 36311 ms
TAG: Process com.android.bluetooth has been running since: 26529 ms
TAG: Process com.google.android.gms.persistent has been running since: 24921 ms
TAG: Process com.google.android.gms has been running since: 90390 ms
TAG: Process org.mozilla.firefox has been running since: 80946 ms
TAG: Process com.motorola.actions has been running since: 73986 ms

OutPut:

enter image description here

答案 2 :(得分:0)

 long millisSinceBoot = SystemClock.elapsedRealtime();
         System.out.println("00000    "+millisSinceBoot);
         System.out.println("11111    "+values.get(position).activeSince+" "+values.get(position).process);
         long time = ((millisSinceBoot - values.get(position).activeSince)/1000);
         int[] vals = splitToComponentTimes(time);

         String time1 = vals[0]+":"+vals[1]+":"+vals[2];
         time_list.add(time);        
         timer.setText(time1);

         System.out.println("valssssss "+vals[0]+" "+vals[1]);