我在将活动从一个更改为另一个时遇到黑屏问题。我找到了答案为什么会发生这种情况,但无法找到解决方案。当我从playActivity转到GameCompleteActivity时,我可以进入下一个级别,然后进入下一级别,我正在完成playActivity的实例并为同一个PlayActivity调用新的Intent,因为我的所有不同级别都适用于PlayActivity,becoz of my requirement我必须完成最后一次playActivity才能为下一级别开始新的playActivity。这是我进入下一级别时的滞后或黑屏,即完成后再次启动playActivity需要时间。
我尝试了Transculent。但它也没用。 AsyncTask也没有给我预期的结果
现在我想我会展示一些活动褪色的动画或可能隐藏我的黑屏行为的东西?
需要解决方案的帮助吗? ....谢谢
答案 0 :(得分:5)
这通常意味着新活动正在UI线程中加载数据,因此在加载所有内容之前屏幕保持黑色。
考虑在一个单独的线程中移动加载所有活动数据的代码(这是一个游戏,所以我猜水平和图形),然后让PlayActivity知道数据何时可以使用。
答案 1 :(得分:0)
每当发生此类事情时请记住在调用新Activity时调试。
在制作任何游戏时,尝试制作不同模块的分区。所以很容易追踪你的问题。
答案 2 :(得分:0)
如果您的onCreate中有大量与UI相关的代码,只需尝试通过创建一些函数IntializeUI()在onCreate之外进行,或者尝试将其划分为模块化,或者使用Transculent主题进行活动...
答案 3 :(得分:0)
这是一个非常简单的错误:只需在您的清单文件属性中添加您的活动:android:theme =" @android:style / ... - 并使其成为半透明。
答案 4 :(得分:0)
虽然主线程上的活动过多可能会这样做,但根据我的经验,最常见/明显的原因是在转换时在startActivity()之后立即调用finish()。并不是说这样做是错误的,但是如果你想摆脱黑屏你可能需要尝试另一种方法,比如使用 noHistory 。