我是android和java的新手...我正在读几天关于android parceling教程的传输数据或变量值从一个活动到其他或一个类到其他...但我不太了解那。
你可以告诉我为了这个目的有必要使用Parcelable
,因为同样的任务也可以使用变量的static
关键字作为字符串,整数或数组类型执行,然后为什么parcelable pls详细解释。 。
感谢提前解释请提供与示例比较
答案 0 :(得分:6)
虽然从技术上讲这两种方法都有效,但存在一些缺陷。
首先,静态变量是静态的。如果您有两个相同活动的实例,则它们都将引用相同的静态对象。这可能不是你想要的。
其次,访问全局变量被认为是不好的做法。这使得很难看到发生了什么,很难测试,而你(另一个类)可以修改你的数据。这会产生一些可怕的错误。
通过Parcelable对象传递数据,很清楚你在做什么,你就避免了这两个问题。
请注意,此建议不特定于Android,而不是Java和编程。
答案 1 :(得分:0)
静态引用永远不会被垃圾回收,因此您最终会创建称为内存泄漏的东西。
您正在将不需要的对象保留在内存中,并且无法释放该对象。
如果您这样实例化足够的对象,您将获得内存不足(oom)异常,这将导致应用程序崩溃。