Android:什么是更好的做法,使用全局字符串或意图与额外的数据?

Kyl*_*egg 7 android

在当前的Android项目中,我在几个活动之间传递一些数据.我很好奇是否有最佳实践在活动之间发送数据.我有一个字符串,将根据一个活动的结果进行更新/追加,然后用于Facebook共享两个活动.该字符串是应该设置为全局静态字符串,然后共享,还是应该使用intent.PutExtra

全局字符串可能代码较少,但意味着另一个静态变量.或者,意图Extra很好,但似乎重复,因为它通过几个活动.无论哪种方式都可行,只想知道一个人是否优先于另一个人.

ᆼᆺᆼ*_*ᆼᆺᆼ 6

在我看来,只有意图才能奏效.在Android上,您的应用程序必须为它被杀死的事件做好准备(例如,传入的视频调用将其置于后台并消耗大量内存,因此后台应用程序将被终止).当Android恢复您的应用程序时,它会重新启动正在显示的活动并重新发送启动它的Intent,因为它们会保存到持久存储中.但是不保存其他类的状态(包括它们的静态变量),如果不保存它们,则会丢失/重置.


207*_*207 5

您应该始终避免使用全局变量。有时您会需要它们,在大多数情况下,这是由于设计问题所致。您不应该“因为代码较少”或更容易编码而使用全局变量。顺便说一句,只属于公共静态变量而不属于常量。全局变量让你的生活更艰难,因为

  • 您的代码更难阅读(该变量来自哪里......它超出了“范围”)
  • 更难测试(谁读取变量?谁修改变量?)
  • 无访问控制(无 getter/setter)
  • 穿线
  • 还有更多