Android-What是使用静态UI对象的缺点

时间:2016-10-10 12:53:29

标签: android static

在我的项目中,我需要使用一些UI对象(例如Textview)来处理两个独立的类或两个活动之间;

在这种情况下,为了避免重复获取UI对象的代码,我想要使用静态Ui对象。 当然,我也在考虑App生命周期中静态对象的安全性; 但android-static-object-lifecycle的文章澄清了我的怀疑;

当您切换到另一个应用程序的其他活动时,静态变量的值将保持不变,并且以下三个都不会发生。

1。该课程已卸载

2。 JVM关闭

第3。过程终止

在我的意见中,使用静态对象不仅安全而且更容易在不同的班级使用;但实际上很少见到其他项目。 使用静态ui对象有什么缺点吗?

请在此发布您的建议...提前致谢

1 个答案:

答案 0 :(得分:2)

每个UI元素都需要context。当您提供this(例如thisActivity子类)时,该元素将保留对您的活动的引用。这很糟糕,因为运行时可以重新创建活动实例(例如,当屏幕旋转时)。在这些情况下,旧实例仍将保留在内存中(因为它不能被垃圾回收),因为您的UI元素具有它的引用(通过this)。因此,建议不要使用static UI元素。