gpt4 book ai didi

android - 指令 'monitor-enter v1' 期间出现空指针异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:19 27 4
gpt4 key购买 nike

我现在每次都会收到这个错误
内部 public void onResponse(Call call, Response response){:

mContext.runOnUiThread(new Runnable() {
@Override
public void run() {

LocalDBUtility local=LocalDBUtility.getInstance();
//code
}

在我的单例类 LocalDBUtility

static LocalDBUtility localDBUtility;
private LocalDBUtility(){
}

public static LocalDBUtility getInstance(){

if(localDBUtility==null){
synchronized (localDBUtility) {
localDBUtility = new LocalDBUtility();
}
return localDBUtility;

}else {
return localDBUtility;
}
}

我想知道是什么导致了NPE?

堆栈跟踪:

 java.lang.NullPointerException: Null pointer exception during instruction 'monitor-enter v1'
at com.utilities.LocalDBUtility.getInstance(LocalDBUtility.java:34)
at com.MainActivity$4.run(MainActivity.java:386)
at android.app.Activity.runOnUiThread(Activity.java:5506)
at

retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5763)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755

最佳答案

    if(localDBUtility==null){
synchronized (localDBUtility) {

如果 localDBUtility 为空,则不能对其调用同步。您只能在实例化对象上同步。

关于android - 指令 'monitor-enter v1' 期间出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36117829/

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