gpt4 book ai didi

java - Android:getElapsedCpuTime 返回较少的毫秒数

转载 作者:行者123 更新时间:2023-11-30 02:09:16 25 4
gpt4 key购买 nike

关于 getElapsedCpuTime() 的 Android 文档说明

Returns elapsed milliseconds of the time this process has run.

我尝试使用 getElapsedCpuTime(),以毫秒为单位的时间非常困惑。许多(4 到 5)秒后,返回的耗时仅为 2000 左右。要么它比原来的毫秒(1 秒内 1000 秒)慢,要么我在正确理解方面有问题?

我只是测试获取每次单击按钮时的当前 CPU 运行时间,代码如下:

    public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.build_data_view);

Button btn = (Button) findViewById(R.id.refresh);
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
String elapsedCpuTime = android.os.Process.getElapsedCpuTime()
+ "";
((TextView) findViewById(R.id.build_data))
.setText(elapsedCpuTime);

}
});

}

最佳答案

在名称中,它表明计算的时间是该进程到目前为止所花费的 CPU 时间。如果您在半小时前启动该进程,它可能只花费了三秒钟的 CPU 时间。在 API 中 http://developer.android.com/reference/android/os/Process.html他们说这是进程正在运行的时间,必须是有效时间。因此只有在 CPU 上花费的时间,而不是自进程实例化以来流逝的时间。

添加一个 Asynctask 除了 while(true) 什么都不做,你会看到花费的时间呈线性增长,但不会达到 100% 的消耗时间,因为你的 proc 会只有它的份。

关于java - Android:getElapsedCpuTime 返回较少的毫秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30342369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com