Android 如何测量移动应用程序的冷/热启动时间

Android 如何测量移动应用程序的冷/热启动时间,android,ios,performance,time,startup,Android,Ios,Performance,Time,Startup,是否有一种简单的方法可以测量应用程序的启动时间?关于自制应用程序也有类似的问题,但在本例中,我指的是测试和比较它们的外国应用程序。到目前为止,我在Play Store/iTunes应用商店中找不到一个简单的应用程序,它只测量从用户单击应用程序图标到应用程序完全加载并可以使用的状态的时间。如果有任何提示,我将不胜感激 将此代码作为主活动中的第一行代码: Log.d("MyApp start time", "" + System.currentTimeMillis()); 以及在您考虑应用程序加载

是否有一种简单的方法可以测量应用程序的启动时间?关于自制应用程序也有类似的问题,但在本例中,我指的是测试和比较它们的外国应用程序。到目前为止,我在Play Store/iTunes应用商店中找不到一个简单的应用程序,它只测量从用户单击应用程序图标到应用程序完全加载并可以使用的状态的时间。如果有任何提示,我将不胜感激

将此代码作为主活动中的第一行代码:

Log.d("MyApp start time", "" + System.currentTimeMillis());

以及在您考虑应用程序加载结束后:

Log.d("MyApp end time", "" + System.currentTimeMillis());
现在只需搜索日志中的信息,您就可以在那里查看时间

尝试教程或创建单独的应用程序,该应用程序将在
startActivity(Intent)
之前启动应用程序(通过Intent)并写入日志(或保存到文件)当前时间(
System.currentTimeMillis()

更新: 如果您的国外应用程序有创建单独的应用程序,该应用程序将启动其他应用程序(通过Intent)并写入日志(或保存到文件或仅存储在变量中)当前时间
System.currentTimeMillis()
就在
startActivity(INTENTENT)
之前,如下所示:

Intent intent = getPackageManager().getLaunchIntentForPackage("<package of other app>");
        if (intent!= null) {
            Log.d(TAG, "Starting time: " + System.currentTimeMillis());
            startActivity(intent);
        }
Intent-Intent=getPackageManager().getLaunchIntentForPackage(“”);
if(intent!=null){
Log.d(标记“开始时间:+System.currentTimeMillis());
星触觉(意向);
}

(您可以通过这种方式获取其他应用程序包和主要活动名称)然后获取启动的应用程序列表(或监视它们的日志),就像在线程中一样,当应用程序出现在列表中或检测到其日志时,您可以存储启动的应用程序的时间戳。存储值之间的差异表示启动时间。

;-)来吧;-)我希望在毫秒范围内进行准确测量。您只能测量自制应用程序的任务时间,而不是设备中安装的所有应用程序的任务时间。问题中指出,统计数据是针对非自制的“外国应用程序”进行测量的