获取我的Android应用的运行时间

时间:2015-06-09 09:46:29

标签: java android date datetime

我希望我的应用的持续时间/运行时间以毫秒为单位。这可能吗?

我试过这个:

long timestamp = System.currentTimeMillis();

但这是当前时间与1970年1月1日午夜时间之间的差异,以毫秒为单位。

但是自从我的Android应用运行以来,我需要几毫秒的时间。例如:

  • 应用程序启动:0ms
  • App运行5秒:5000毫秒

3 个答案:

答案 0 :(得分:4)

在应用开始时:

long timestamp = System.currentTimeMillis();

在应用程序结束时:

long elapsedTime = System.currentTimeMillis() - timestamp;
//show elpasedTime somehow

答案 1 :(得分:1)

这取决于应用程序启动的确切含义。

我会继承Application类,重写onCreate并获取开始时间。然后,您可以在需要时获取当前时间来计算时间差。你只需从另一个中减去一个,你将得到你的时间毫秒。

请注意,通过在Application类中执行此操作,您可以继续使用其他应用程序,如果您的Application对象尚未被系统杀死,那么当您返回应用程序时它仍将具有相同的会话

答案 2 :(得分:1)

你可以试试......

import android.os.SystemClock;

public class MainActivity extends Activity{
    public static long startTime;

    void onCreate(Bundle savedInstanceState) {
        startTime = SystemClock.elapsedRealtime(); //Returns milliseconds since boot
                ...

    }
    public static long getRunningTime(){
        return SystemClock.elapsedRealtime() - startTime;
    }
}

然后,从应用程序的任何部分,您都可以调用MainActivity.getRunningTime();