在当前的 Android 项目中,我在几个活动之间传递了一些数据。我只是好奇是否有在活动之间发送数据的最佳实践。我有一个字符串,它将根据一项活动的结果进行更新/附加,然后用于 Facebook 共享两项活动。应该将此字符串设置为全局静态字符串,然后共享,还是应该使用传递字符串intent.PutExtra
?
全局字符串可能代码较少,但意味着另一个静态变量。或者,额外的意图很好,但似乎重复,因为它正在通过几个活动。无论哪种方式都可以,只是想知道一个是否优于另一个。
在当前的 Android 项目中,我在几个活动之间传递了一些数据。我只是好奇是否有在活动之间发送数据的最佳实践。我有一个字符串,它将根据一项活动的结果进行更新/附加,然后用于 Facebook 共享两项活动。应该将此字符串设置为全局静态字符串,然后共享,还是应该使用传递字符串intent.PutExtra
?
全局字符串可能代码较少,但意味着另一个静态变量。或者,额外的意图很好,但似乎重复,因为它正在通过几个活动。无论哪种方式都可以,只是想知道一个是否优于另一个。
在我看来,只有 Intent 会起作用。在 Android 上,您的应用程序必须为它被终止的事件做好准备(例如,传入的视频呼叫将其置于后台,并且还消耗大量内存,因此后台应用程序被终止)。当 Android 恢复您的应用程序时,它会重新启动正在显示的 Activity 并重新发送启动它的 Intent,因为这些已保存到持久存储中。但是其他类的状态(包括它们的静态变量)没有保存,如果你不保存它们,就会丢失/重置。
您应该始终避免使用全局变量。有时您会需要它们,在大多数情况下,这是由于设计问题。您不应该“因为代码更少”或更容易编码而使用全局变量。顺便说一句,仅属于公共静态变量而不属于常量。全局变量使您的生活更加艰难,因为
有额外数据的意图。最好传递 getExtras 并且您的父活动已预定义事件以跟踪子活动何时完成。