找出 Eclipse 中一条指令所占用的指令周期数 - Android

发布于 2025-01-01 15:02:39 字数 384 浏览 1 评论 0 原文

我怎样才能知道 Android 设备中典型的 WiFi 扫描需要多少个指令周期?当然,它会因设备而异,但是有没有办法找到它呢?我正在使用日食。指令是:

         wifiManager.startScan();

其中 wifiManager 是 WifiManager 类的实例。

我还想知道执行扫描(即执行上述指令)所需的时间(以毫秒为单位)。我发现它使用

         System.currentTimeMillis();

但在开发人员网站上提到: “此方法不应用于测量超时或其他经过时间的测量,因为更改系统时间可能会影响结果。” 这是什么意思??
任何帮助将不胜感激。谢谢。

How can i find out how many instruction cycles does a typical wifi scan take in an android device? Of course it will vary from device to device, but is there a way to find it out? I'm using eclipse. The instruction is:

         wifiManager.startScan();

where wifiManager is an instance of WifiManager class.

I also want to know the time taken in milliseconds to perform the scan i.e. to execute the said instruction. I found it out using

         System.currentTimeMillis();

But on the developers website it is mentioned:
"This method shouldn't be used for measuring timeouts or other elapsed time measurements, as changing the system time can affect the results."
What does this mean??
Any help would be appreciated. Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

闻呓 2025-01-08 15:02:39

这意味着您必须使用 System.currentTimeMillis();仅用于您的性能测试。

例子:

long beforeTime = System.currentTimeMillis();

//performance code goes here

long afterTime = System.currentTimeMillis();

System.out.println("Your code was running " + afterTime - beforeTime + "milis"); 

It means that you must use System.currentTimeMillis(); only for your performance tests.

Example:

long beforeTime = System.currentTimeMillis();

//performance code goes here

long afterTime = System.currentTimeMillis();

System.out.println("Your code was running " + afterTime - beforeTime + "milis"); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文