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

时间:2015-12-05 15:23:52

标签: android performance view

问题: 我有一个班级和一个活动: 该类执行逻辑并使用复杂的算法来处理活动中的Textview和ImageView 我在做什么:

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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

我看不出你有什么理由想要这样做。静态变量在类的所有实例之间共享。但是视图非常依赖于它们的特定Activity实例,它们不能被多个实例使用 - 每个实例都必须创建自己的实例。由一个Activity实例创建的视图无法在第二个实例中显示。所以我看不出静态视图是一种好处的任何情况。

答案 2 :(得分:0)

出于某些原因,不建议将视图声明为静态视图:

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

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