【问题标题】:How to measure the cold/warm startup time of a mobile application如何测量移动应用程序的冷/热启动时间
【发布时间】:2017-02-26 03:32:00
【问题描述】:

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

【问题讨论】:

  • 来吧 ;-) 我希望在毫秒范围内进行一些准确的测量。
  • 您只能测量自制应用的任务时间,不能测量设备中安装的所有应用。

标签: android ios performance time startup


【解决方案1】:

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

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

在您考虑应用加载结束后:

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

现在只需在日志中搜索信息,您就会知道那里的时间

【讨论】:

    【解决方案2】:

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

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

    Intent intent = getPackageManager().getLaunchIntentForPackage("<package of other app>");
            if (intent!= null) {
                Log.d(TAG, "Starting time: " + System.currentTimeMillis());
                startActivity(intent);
            }
    

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

    【讨论】:

    • 在问题中指出,统计数据是针对“外国应用程序”而非自制的
    猜你喜欢
    • 2022-01-22
    • 2018-12-07
    • 2016-09-14
    • 2010-09-12
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多