Java 使用全局变量,而不是通过segue将值推送到下一个活动/视图
这个问题适用于iOS和Android开发 我一直在使用这两种开发环境,在iOS中有一个标准约定,使用segues通过视图/场景传输值 同样的道理也适用于Android系统,在切换活动时,你会在意图上加上额外的值 我的问题是, 为什么我们不能在Java/Swift/Objective C中创建一个类,该类包含可以在所有类中访问的全局变量。这样,我们可以简单地编辑一个全局变量,在切换视图/活动之后,我们可以再次访问它们 我已经在我的一个应用程序中使用iOS实现了这一点,但我认为没有理由用其他方式实现Java 使用全局变量,而不是通过segue将值推送到下一个活动/视图,java,android,ios,objective-c,swift,Java,Android,Ios,Objective C,Swift,这个问题适用于iOS和Android开发 我一直在使用这两种开发环境,在iOS中有一个标准约定,使用segues通过视图/场景传输值 同样的道理也适用于Android系统,在切换活动时,你会在意图上加上额外的值 我的问题是, 为什么我们不能在Java/Swift/Objective C中创建一个类,该类包含可以在所有类中访问的全局变量。这样,我们可以简单地编辑一个全局变量,在切换视图/活动之后,我们可以再次访问它们 我已经在我的一个应用程序中使用iOS实现了这一点,但我认为没有理由用其他方式实现
那么,为什么这不是标准或普遍接受的呢 通常不建议使用全局变量,因为在很多人在同一个应用程序上工作的行业中,使用全局变量会造成很多混乱和逻辑错误,很难调试
因此,建议避免使用全局变量,并在分配给您的模块中使用尽管全局变量似乎更容易完成某些开发任务,但在可能的情况下,有几个原因应该避免使用全局变量。这不仅适用于android/ios开发,也适用于大多数其他语言(尤其是面向对象语言)
检查此链接:
如果使用全局变量,则应考虑以下情况内存是移动设备上的常见问题。通过创建可跨“活动/视图控制器”访问的全局变量,您可以保留在每个“活动/视图控制器”中可能不需要的内存中。如果我要创建一个与控制器对应的类层次结构,它可以处理特定数量的视图/活动,那么,我是否可以创建仅由所需视图访问的变量,从而消除内存问题?使用这些类变量听起来更容易控制。在这种情况下,不一定是全局变量。如果我要放弃全局/类变量,我想100%相信。是的,类变量完全可以,只要它们是实例变量。如果正确管理引用,则可以在类之间共享实例变量。但是,静态类变量往往会一直存在。