【发布时间】:2013-06-15 20:11:29
【问题描述】:
我需要获取我在 C 中使用 NDK/JNI 实现的算法的某些部分的计算时间。
我读过这个问题:Android Get Current timestamp?
我想我可以通过这种方式使用相同的方法获得 JNI 调用的计算时间:
Long start, end, time;
start = System.currentTimeMillis()/1000;
//my native call
end = System.currentTimeMillis()/1000;
time = end - start;
Log.i(TAG, "Time ... (ms): " + time);
但是我需要检查原生方法中一些小部分的计算时间。我该怎么做?
【问题讨论】:
-
你可以通过在调用方法之前和之后设置日志消息来做到这一点......然后只需使用 time = end - start;我的意思是在日志消息中打印时间。
-
@AllessandroGaietta 您的示例将
currentTimeMillis()除以 1000...您是否希望您的测量过程像秒一样? -
@mah 这是一个复制错误,我不想除以 1000 ;D
-
@Pratik 显然在示例中有日志打印。我想知道如何在 JNI 调用中使用一些类似的函数来获取当前时间并将其打印在日志中(我知道如何在 JNI 中打印日志消息,只是不知道如何获取时间)。
标签: android performance time android-ndk java-native-interface