【问题标题】:onResume() not being called on resuming app, screen becomes blackonResume() 没有在恢复应用程序时被调用,屏幕变黑
【发布时间】:2014-01-01 02:52:30
【问题描述】:

因此,我修复了我的应用程序中的一些其他错误,并出现了一个新的烦人错误。我可以很好地运行我的游戏,并且一切正常。问题是当我退出应用程序,然后从家里进入最近的应用程序,然后单击我的游戏时,屏幕变黑(但游戏循环仍在运行)。我在 onCreate()、onPause() 和 onResume() 方法中放了一行代码,告诉我它们何时被调用。这是我启动应用程序时调用它们的顺序:

onCreate() then --> onResume() 然后我退出我的应用程序: onPause()

但是当我返回时,onResume() 不会出现在 logcat 中,如果您想知道 onCreate() 也不会出现。谢谢!

此外,LogCat 中没有显示错误。

编辑,这是我的代码(ps Anaglyph 是我的游戏名称和游戏视图类的名称):

GameView(Anaglyph.class): Paste Bin Entry 1

GameThread(MainThread.class): Paste Bin Entry 2

MainActivity(MainActivity.class): Paste Bin Entry 3

【问题讨论】:

  • 我没有大量使用 SurfaceHolder 的经验,但我建议检查你的 SurfaceHolder 回调,看看你是否在考虑活动生命周期变化的情况下适当地管理表面。听起来好像有什么东西卡在了阻止活动回调的循环中。
  • 我该怎么做呢?我对android完全陌生,所以我可能比你知道的还要少:P
  • 我猜测(尚未验证)当您的应用程序暂停时,表面会被破坏,并且可能需要在您的应用程序恢复时再次创建。请参阅developer.android.com/reference/android/view/SurfaceView.html 特别是类概述。
  • 在我的第一条评论中,我的意思是说 SurfaceView 不是 SurfaceHolder...
  • 没关系。我决定通过查看另一个教程来重新制作我游戏的整个主要设置,它运行良好。无论如何,谢谢!

标签: java android onresume homescreen


【解决方案1】:

如果有人的代码看起来像我的,而你也有同样的问题,只需使用这个例子重构你的程序:http://androidhelpkatariya.blogspot.ca/2012/11/surface-view-example.html 希望它对我有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多