我目前有一个活动的onCreate()方法设置为捕获意图它做的第一件事。意图总是会有一个额外的int“ACTIONCODE”来确定活动应该做什么。
活动A可能希望活动Z第一次设置变量,因此它调用startActivity(includedIntent),它有一些额外的int ActivityZ.SET_UP_FIRST_TIME(这是活动Z中的常量。)活动B可能想要更改有点变量,所以它带有一个startActivity(includedIntent),其目的包括一个额外的int ActivityZ.CHANGE_VARIABLES以及其他改变这些变量的数据。
活动Z可能只是一组显示其变量的文本视图。根据它从getIntent()接收的ACTIONCODE,它将按需要执行操作。
我觉得我对我的应用程序中的活动有了更多的控制权,但我担心这可能是一个非常天真和低效的实现。我基本上不信任(也不完全理解)onStart(),onResume(),onPause()和onStop()。从我所听到的情况来看,无法保证活动将始终返回onResume()。当它处于onPause()或onStop()状态时,它可能已被系统杀死或完全破坏,因此只会再次返回onCreate()。这是我信任的唯一方法。
我甚至从onCreate()中保存了所有数据。为什么?我听说如果一个活动在onPause()或onStop()中,它很容易被杀死,甚至可能无法完成覆盖被覆盖的onPause()或onStop()方法中包含的所有行。我不想在一个可能突然停止的方法中执行数据保存功能!
我的想法在这里错了吗?我的恐惧是不合理的吗?如果是这样,我该怎么办呢?
顺便说一下,这是我的应用截图:
答案 0 :(得分:0)
谢谢,Luksprog。经过一些阅读,我认为我现在可以更好地相信活动生命周期。 我将在onCreate中实现设置,在onResume中加载,并保存在onPause中!希望这是正确的。
现在我需要的是关于正确设置活动和片段的方法的一些建议。我只需要一些通用的经验法则来决定何时何时不开始新活动,或者使用碎片可能更好。