Android问题-拍照时使用处理程序

Android问题-拍照时使用处理程序,android,timer,camera,handler,runnable,Android,Timer,Camera,Handler,Runnable,我试图在我的android应用程序中向用户显示总的图像拍摄时间(计时器) 我所做的: 当片段开始时,我正在启动处理程序。(即)我已经在我的“onCreateView”方法中启动了处理程序,如下所示 MainFragment: private long startTime = 0L; private long timeInMillies = 0L; private long timeSwap = 0L; private long finalTime = 0L; public View onCr

我试图在我的android应用程序中向用户显示总的图像拍摄时间(计时器)

我所做的:

当片段开始时,我正在启动处理程序。(即)我已经在我的“onCreateView”方法中启动了处理程序,如下所示

MainFragment:

private long startTime = 0L;
private long timeInMillies = 0L;
private long timeSwap = 0L;
private long finalTime = 0L;

public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
    rootView = inflater.inflate(R.layout.capture,
                container, false);
    TextView textview = (TextView)rootView.findViewById(R.id.timer);

    startTime = SystemClock.uptimeMillis();
    Handler myHandler = new Handler();
    Runnable updateTimer = new Runnable() {

        public void run() {
            timeInMillies = SystemClock.uptimeMillis() - startTime;
            finalTime = timeSwap + timeInMillies;
            int seconds = (int) (finalTime / 1000);
            seconds = seconds % 60;
            int milliseconds = (int) (finalTime % 1000);
            milliseconds = milliseconds % 60 ;
            textview.setText(String.format("%02d", seconds) + ":" + String.format("%02d", milliseconds) + "s");
            myHandler.postDelayed(this, 0);
        }

    };
    myHandler.postDelayed(updateTimer, 0);

    .
    .
    .
    return rootView;
}
我想要什么:

处理程序运行良好,计时器不会延迟(00.00,00.01,00.02,00.03,00.04,…,10.32),直到我开始调用“摄像机。拍摄(null,null,pictureCallback);”。一旦我调用“照相机。拍照”,计时器就会显示时间,并有几秒的延迟(00.00,00.01,00.02,00.03,延迟,02.30,02.31,02.32,延迟,04.03,04.04,…

有什么问题吗?有人面对过这个问题吗?如何解决此问题

@Override
public void onResume() {
    super.onResume();
    .
    .
    .
    camera.takePicture(null, null, pictureCallback);
}