E/WindowManager:android.view.WindowLeaked:Activity已经泄漏了window-android.widget.PopupWindow$PopupDecorView

E/WindowManager:android.view.WindowLeaked:Activity已经泄漏了window-android.widget.PopupWindow$PopupDecorView,android,multithreading,popup,handler,Android,Multithreading,Popup,Handler,我正在使用一个java类(不是活动),它处理用户点数计算,并检查用户是否被提升为其他标题。如果是-我想弹出一个通知用户的弹出窗口 注意:我查到了以前问过的类似问题* 我的代码: LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE); final View popupView = inflater.inflate(R.layout.popup_window, nu

我正在使用一个java类(不是活动),它处理用户点数计算,并检查用户是否被提升为其他标题。如果是-我想弹出一个通知用户的弹出窗口

  • 注意:我查到了以前问过的类似问题*
我的代码:

LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);
final View popupView = inflater.inflate(R.layout.popup_window, null);
int width = LinearLayout.LayoutParams.WRAP_CONTENT;
int height = LinearLayout.LayoutParams.WRAP_CONTENT;
boolean focusable = true;
final PopupWindow popupWindow = new PopupWindow(popupView, width, height, focusable);

new Handler(Looper.getMainLooper()).post(new Runnable() {
    public void run() {
       popupWindow.showAtLocation(popupView, Gravity.CENTER, 0, 0);
    }
});

popupView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        popupWindow.dismiss();
        return true;
    }
});

您需要关闭活动或片段的
onPause
onestory
中的
弹出窗口
。我在哪里可以这样做?我有几个活动可以调用这个类。在你调用这个类的每个活动中,如果从活动a I:使用toast消息->调用这个类->移动到活动B?我只需要在一段时间内解雇你?