【问题标题】:getting Black Screen while while changing Activity更改活动时出现黑屏
【发布时间】:2017-02-13 11:19:04
【问题描述】:

我在将活动从一个更改为另一个时遇到黑屏问题。我找到了为什么会发生这种情况的答案,但找不到解决方案。当我从 playActivity 转到 GameCompleteActivity 时,我可以在进入下一个级别时进入下一个级别,我正在完成 playActivity 的实例并为同一个 PlayActivity 调用 new Intent 因为我所有不同的级别都在 PlayActivity 中工作,因为我的要求我必须完成最后一个 playActivity 才能为下一个 Level 开始新的 playActivity 。这是我进入下一个级别时出现延迟或黑屏的地方,即完成并再次启动 playActivity 需要时间。

我也尝试过 Transculent.Theme,但没有成功。 AsyncTask 也没有给我想要的结果

现在我想我显示一些活动消退的动画或可能隐藏我的黑屏行为的东西?

在解决方案方面需要帮助? ....谢谢

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    这通常意味着新 Activity 正在 UI 线程中加载数据,因此屏幕会一直保持黑色,直到所有内容都加载完毕。

    考虑将加载所有 Activity 数据(这是一个游戏,所以我猜是关卡和图形)的代码移到一个单独的线程中,然后让 PlayActivity 知道数据何时可以使用。

    【讨论】:

    • 好的,我会尝试再次在 AsyncTask 上添加内容,希望对您有所帮助....并会回复您...
    【解决方案2】:

    每当发生这种事情时记得在调用新 Activity 时进行调试。

    在制作任何游戏时,请尝试对不同的模块进行分区。所以很容易追踪你的问题。

    【讨论】:

    • 我会尽量保持这一点?我真的需要努力调试它,否则我想我需要在我的活动开始之前放置动画,这只是暂时离开的方式......
    • @user1169079:因为动画效果而调试,所以它可以清楚地了解你的立场。
    【解决方案3】:

    如果您的 onCreate 中有大量与 UI 相关的代码,请尝试通过创建一些函数 IntializeUI () 在 onCreate 之外进行操作,或者尝试将其划分为模块化,或者为您的活动使用 Transculent 主题...

    【讨论】:

      【解决方案4】:

      这是一个非常简单的错误:只需将清单文件属性添加到您的活动中:android:theme="@android:style/ ... - 并将其设为半透明。

      【讨论】:

        【解决方案5】:

        虽然主线程上的太多活动可能会执行此操作,但根据我的经验,最常见/最明显的原因是在转换时在 startActivity() 之后立即调用 finish()。并不是说这样做是错误的,但如果您想摆脱黑屏,您可能需要尝试另一种方法,例如使用 noHistory

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-01-13
          • 1970-01-01
          • 2015-04-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多