繁体   English   中英

在android中声明静态视图是个好主意吗?

[英]Is it a good idea to declare static view in android?

问题:我有一个类和一个活动:该类执行逻辑并使用复杂的算法从活动中操作 Textview 和 ImageView 我在做什么:

在活动中:静态 TextView txt1、txt2、txt3、txt4; 所以我可以在课堂上使用:Activity.txt1

Android 编程有什么不好的地方吗? 我想学习最佳实践。 所以如果你有更好的方法,我会接受。 谢谢

声明静态视图是一种不好的做法,尤其是在您在活动中声明它的场景中。 如果您的应用程序增长,您可能会遇到内存问题异常,这将导致应用程序崩溃,因为垃圾收集器无法收集您声明的静态视图以释放内存堆。

我看不出你有什么理由想要这样做。 静态变量在类的所有实例之间共享。 但是视图与其特定的 Activity 实例密切相关,它们不能被多个实例使用——每个实例必须创建自己的实例。 由 Activity 的一个实例创建的视图不能在第二个实例中显示。 所以我看不到任何静态视图有好处的情况。

出于以下几个原因,不建议将视图声明为静态视图:

  1. 会导致内存泄漏
  2. 一个实例中引用的静态视图对另一个实例不可用
  3. 视图应该只在创建活动时被引用。 拥有静态视图意味着我们甚至可以在创建导致问题的活动之前为其分配引用。

在您的情况下,您可以返回操作过的文本或新图像并显示活动中的文本或图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM