Android onpause未触发

Appcrafter

我的一个Android应用程序中遇到一个奇怪的问题。我的应用程序使用单独的线程在Surfaceview上进行绘制。当应用程序暂停时,渲染线程停止。我正在处理应用程序的onPause方法中的线程关闭。恢复到应用程序后,将在应用程序的onResume方法中重新创建渲染线程的新实例。

整个过程按原本应该的样子执行,当我暂停一次应用程序时。但是,当我第二次尝试时,未调用活动的onPause方法。即使不再可见该应用程序,渲染线程仍在后台运行。

要暂停活动,我正在使用主页按钮。据我了解的生命周期,这应该触发onPause,然后触发onStop。第一次执行此操作时,它会完美运行,但我想知道为什么第二次不起作用。

这是我的onPause方法的一些代码:

    @Override
    public void onPause() {
        Log.v(null, "calling onpause"); 
        gameview.getHolder().removeCallback(this);
        gameview.setFocusable(false);
        gameview.setOnTouchListener(null);
        if (!isInitializing) {
            thread.skipPause = false;
            thread.setRunning(false);
            boolean retry=true;
            while (retry) {
                try {
                    thread.join();
                    retry = false;
                } catch (InterruptedException e) {

                }
            }
            thread=null;
        } else {
            shouldBePaused = true;
        }
super.onPause();
}

这是我的onResume方法:

@Override
public void onResume() {
    gameview.getHolder().addCallback(this);
    gameview.setFocusable(true);
    gameview.setOnTouchListener(this);
    thread = new MainThread(gameview.getHolder(), this);
    super.onResume();
}   

我想知道的问题是,即使我按下主页按钮,为什么也不会调用onPause。也许我以错误的方式重新创建了线程?任何帮助,将不胜感激。

Appcrafter

我解决了这个问题。问题在于联接方法在释放曲面视图的画布之前已经完成了渲染线程。

我认为这样一来,即使活动消失,画布仍保持锁定状态。可能由于这个原因,没有调用onStop方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android onpause未触发

来自分类Dev

Android BroadcastReceiver未触发

来自分类Dev

Android Geofencing BroadcastReceiver未触发

来自分类Dev

Android Firebase OnDataChange 未触发

来自分类Dev

Listview Itemclick事件未触发android xamarin

来自分类Dev

未触发Android Wear WatchFace API onTimeTick

来自分类Dev

完成后未触发Android警报

来自分类Dev

通知未触发的Android Wear意图

来自分类Dev

从其他活动返回时,我的活动(Android)似乎未执行onPause()/ onResume

来自分类Dev

Android MediaPlayer onPause()

来自分类Dev

未触发注册Android活动生命周期

来自分类Dev

android GoogleAuthUtil.getTokenWithNotification意图回调未触发

来自分类Dev

按下Backspace时未触发Android addTextChangedListener onTextChanged?

来自分类Dev

在Android 4.0.3上未触发GcmBroadcastReceiver onReceive方法

来自分类Dev

我使用Handler更新UI时未触发Android OnItemClickListener

来自分类Dev

Unity Android任务杀死未触发OnApplicationQuit或OnDestroy

来自分类Dev

Delphi Android READ_PHONE_STATE未触发

来自分类Dev

在Android Wear操作系统上未触发通知

来自分类Dev

Hammer.js:未触发Android网站捏事件

来自分类Dev

在Android 4.0.3上未触发GcmBroadcastReceiver onReceive方法

来自分类Dev

我使用Handler更新UI时未触发Android OnItemClickListener

来自分类Dev

android GoogleAuthUtil.getTokenWithNotification意图回调未触发

来自分类Dev

Unity Android任务杀死未触发OnApplicationQuit或OnDestroy

来自分类Dev

Android onPause()没有被调用

来自分类Dev

Android onPause()导致Activity崩溃

来自分类Dev

LibGDX Android onPause更改纹理

来自分类Dev

Android onPause()没有被调用

来自分类Dev

在onStop()之后调用的Android onPause()

来自分类Dev

应用程序处于打ze模式时,警报管理器触发的Android通知未触发

Related 相关文章

  1. 1

    Android onpause未触发

  2. 2

    Android BroadcastReceiver未触发

  3. 3

    Android Geofencing BroadcastReceiver未触发

  4. 4

    Android Firebase OnDataChange 未触发

  5. 5

    Listview Itemclick事件未触发android xamarin

  6. 6

    未触发Android Wear WatchFace API onTimeTick

  7. 7

    完成后未触发Android警报

  8. 8

    通知未触发的Android Wear意图

  9. 9

    从其他活动返回时,我的活动(Android)似乎未执行onPause()/ onResume

  10. 10

    Android MediaPlayer onPause()

  11. 11

    未触发注册Android活动生命周期

  12. 12

    android GoogleAuthUtil.getTokenWithNotification意图回调未触发

  13. 13

    按下Backspace时未触发Android addTextChangedListener onTextChanged?

  14. 14

    在Android 4.0.3上未触发GcmBroadcastReceiver onReceive方法

  15. 15

    我使用Handler更新UI时未触发Android OnItemClickListener

  16. 16

    Unity Android任务杀死未触发OnApplicationQuit或OnDestroy

  17. 17

    Delphi Android READ_PHONE_STATE未触发

  18. 18

    在Android Wear操作系统上未触发通知

  19. 19

    Hammer.js:未触发Android网站捏事件

  20. 20

    在Android 4.0.3上未触发GcmBroadcastReceiver onReceive方法

  21. 21

    我使用Handler更新UI时未触发Android OnItemClickListener

  22. 22

    android GoogleAuthUtil.getTokenWithNotification意图回调未触发

  23. 23

    Unity Android任务杀死未触发OnApplicationQuit或OnDestroy

  24. 24

    Android onPause()没有被调用

  25. 25

    Android onPause()导致Activity崩溃

  26. 26

    LibGDX Android onPause更改纹理

  27. 27

    Android onPause()没有被调用

  28. 28

    在onStop()之后调用的Android onPause()

  29. 29

    应用程序处于打ze模式时,警报管理器触发的Android通知未触发

热门标签

归档