gpt4 book ai didi

Java Android 处理程序递归上存在空点问题

转载 作者:行者123 更新时间:2023-12-02 06:41:52 24 4
gpt4 key购买 nike

我遇到了空指针异常,代码如下:

void videoCaptureLoop() {
if (!isRecording) {
if (videoCaptureThread != null){
videoCaptureThread.interrupt();
videoCaptureThread = null;
}
return;
}

//Start Video Capture Thread
if (videoCaptureThread==null){
videoCaptureThread = new VideoCaptureLooperThread();
videoCaptureThread.start();
}

//Post capture video on 30 fps interval <<<<--------------NULL POINTER ON NEXT LINE
videoCaptureThread.mHandler.postDelayed(runVideoCaptureLoop, (long) 33.3333333333);
}

Runnable runVideoCaptureLoop = new Runnable(){
@Override
public void run() {
videoCaptureLoop();
}
};

public class VideoCaptureLooperThread extends Thread{
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler();
Looper.loop();
}
}

我不断收到空指针异常:

 videoCaptureThread.mHandler.postDelayed(runVideoCaptureLoop, (long) 33.3333333333);

麻烦的是我不确定什么是空,我设置了一个断点,但一切看起来都很好,直到它崩溃,并且在崩溃之前我在断点处看不到任何不同的东西。

我的 VideoCaptureLooperThread 类看起来正确吗?这与 mHandler 需要静态有什么关系吗?

错误

09-28 15:50:32.773: E/AndroidRuntime(24931): FATAL EXCEPTION: main
09-28 15:50:32.773: E/AndroidRuntime(24931): java.lang.NullPointerException
09-28 15:50:32.773: E/AndroidRuntime(24931): at com.harmonicprocesses.penelopefree.camera.Pcamera.videoCaptureLoop(Pcamera.java:380)
09-28 15:50:32.773: E/AndroidRuntime(24931): at com.harmonicprocesses.penelopefree.camera.Pcamera$2.onClick(Pcamera.java:338)
09-28 15:50:32.773: E/AndroidRuntime(24931): at android.view.View.performClick(View.java:4240)

谢谢

最佳答案

mHandler 给出空指针。 mHandler似乎只在VideoCaptureLooperThread中声明。在videoCaptureLoop()之外的videoCaptureLoop()中,您引用的是mHandler。

关于Java Android 处理程序递归上存在空点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19072708/

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