安卓,最佳实践的快速问题

3
我有一个愚蠢的小游戏,只是为自己制作的,但我正在考虑与朋友分享,因为它还不太准备好。游戏要求玩家在4秒内进行一次移动。
在我的游戏中,每当一个级别提升时,我想禁用所有按钮并显示倒计时,如3...2...1...然后再次启用所有按钮。
现在有两种方法可以做到这一点(我能想到的):发送一个意图并移动到另一个活动,在那里我可以拥有一个“充满活力”的3,2,1动画,然后回到游戏活动...或者
在同一游戏屏幕活动中简单地放置一些文本,如3...2...1..go!
你会推荐哪个?
我只是担心如果我把人送到另一个活动,然后在动画之后他们回来,游戏还没有完全加载,但计时器将在运行,从而使游戏给他们更少的时间来进行移动。
提前谢谢!
2个回答

5
个人认为,你应该在游戏屏幕上显示倒计时。这不是出于性能原因,而是因为我认为这样更好的用户体验。如果我需要快速反应,我希望能够看到UI,即使它已被禁用。我不喜欢一旦游戏开始就被抛到完全不同的屏幕上。
从性能角度来看,我认为转到另一个活动应该没问题。只要你的onResume()方法中没有昂贵的计算,返回游戏屏幕活动应该很快,因为它仍然在你的倒计时活动下面的活动堆栈中。
你也可以考虑使用ActivityGroup来提高性能。
相关:什么更好-多个活动还是手动切换视图?

1

我会对切换到另一个活动感到犹豫,因为人们在手机上使用过度热衷的任务杀手(当然,我们知道这是不必要的,但许多人都有)。如果任务杀手在用户处于闪屏界面时杀死了您的主游戏活动,则您的游戏将不得不再次通过onCreate()。这是不好的。

我建议将按钮保留在类似于ArrayList<Button>的东西中,然后您可以浏览并说

for(Button button : buttonArrayList)
     button.setClickable(false);

但是我自己也是一个Android初学者,所以请谨慎采纳我的建议。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接