我有一个不确定的进度条,它运行不顺畅,ui线程没有冻结,所以可能它不是由于在ui线程上运行长操作引起的(我有asynctask)。我使用最新的构建工具22.01,目标SDK也是22,我使用支持库和appcomp。出于某种原因,当应用程序获得onPause和onResume时,进度条恢复正常。我测试的设备是nexus 4和htc1。
视频:
答案 0 :(得分:0)
在查看ProgressBar的源代码后,我看到setVisibilty和onVisibilityChanged相应地启动和停止动画
public void setVisibility(int v) {
if (getVisibility() != v) {
super.setVisibility(v);
if (mIndeterminate) {
// let's be nice with the UI thread
if (v == GONE || v == INVISIBLE) {
stopAnimation();
} else {
startAnimation();
}
}
}
}
所以我手动拨打电话 如下
@Override
public void onResume() {
super.onResume();
progressBar.setVisibility(View.INVISIBLE);
progressBar.setVisibility(View.VISIBLE);
这解决了问题...