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