我希望我的应用的持续时间/运行时间以毫秒为单位。这可能吗?
我试过这个:
long timestamp = System.currentTimeMillis();
但这是当前时间与1970年1月1日午夜时间之间的差异,以毫秒为单位。
但是自从我的Android应用运行以来,我需要几毫秒的时间。例如:
答案 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();