📜  如何在 Android Debug Build 中测量方法执行时间?

📅  最后修改于: 2022-05-13 01:58:44.658000             🧑  作者: Mango

如何在 Android Debug Build 中测量方法执行时间?

每当我们创建 Android 应用程序时,我们都会使用各种方法将某些功能应用到它们。我们创建了一种方法并将其应用于我们所有的项目。这些策略通过提供各种独特的功能来增加使用我们软件的人数。但是,这些策略也可以减少您网站上的用户数量。为什么以及如何发生这种情况?如果这些方法执行时间过长,您的应用程序会为它们分配额外的时间,导致您的应用程序滞后或挂起,从而导致消费者不满意和使用您的应用程序的人数下降。

您可以通过确定方法的执行时间然后减少该时间来提高您的应用程序的性能,这将加快您的应用程序的运行。但是你如何计算一个方法的执行时间呢?别担心,我们将在本文中介绍确定方法执行时间的各种方法。因此,让我们从第一种、最简单、最有效的确定方法执行时间的技术开始。

使用 Hugo,最简单的方法!

您可以通过使用 Hugo 库并使用@DebugLog 注释对您的方法进行注释来获取任何方法的方法执行时间。查看这篇关于 Android 注释处理的文章。您只需将库包含在您的项目中,就可以开始了。要在您的应用程序中添加和使用 Hugo,请按照以下步骤操作:

第 1 步:您的成绩构建中的以下几行将满足您的需要

buildscript {
   repositories {
       google()
       jcenter()
       
   }
   dependencies {
       classpath 'com.android.tools.build:gradle:3.5.0'
       classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'
   }
}

第 2 步:添加所需的插件

implementations {
   ...
}
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.hugo'
Java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = findViewById(R.id.textView);
    String name = getAboutTheAuthor("Geeks for Geeks", "Android Articles by Spandan");
    textView.setText(name);
}
  
// You will now override this 
// method, in the following method:
@DebugLog
public String getAboutTheAuthor(String first, String last) {
      // Assigning the time for the process to sleep and then
      // partially waking the system up, the time is in millisecond.
      // In this condition it is about five milliseconds which is
      // almost negligible to the normal human brain.
    SystemClock.sleep(5); 
    return hello + " " + last;
}


除了方法执行时间,你还会了解到方法接受方法返回值的参数

结果,您会在 logcat 中注意到以下内容:

V/MainActivity: ⇢ getName(first="GeeksforGeeks", last="Android Articles by Spandan")
V/MainActivity: ⇠ getName [1ms] = "geeks for geeks articles"

箭头的方向将区分参数和返回类型。你也可以在 Kotlin 中使用它。所有阶段都与Java中的阶段相同。