"不要将Android上下文类放在静态字段中;这是内存泄漏(并且还会中断即时运行)"

时间:2016-06-18 07:49:51

标签: android class memory-leaks static

"不要将Android上下文类放在静态字段中;这是一个内存泄漏(也打破了瞬间运行)"在任何Android控件静态时显示。有没有更好的方法从其他类访问一个Android控件(如TextView),而不是创建一个Parent类的对象或使它(TextView)静态?

2 个答案:

答案 0 :(得分:0)

我不确定你做的是否有效,但你可以使用事件总线,例如Otto将事件从对象发送到对象(例如从服务到活动)

你可以拥有自己的Application派生对象,这将是你的程序存活时一直存在的单例,所以你可以在那里有静态字段。

答案 1 :(得分:0)

众所周知,TaskEntityApplication类始终在内存中保持活动状态,因此我们不需要将对象或变量设为静态,而只是声明它们是正常的(非静态)之一,并通过创建该应用程序类的对象进行调用,即。而不是直接将其称为静态..

  

错误的方式:

MultiDexApplication
  

正确的方式:

AppClass.myObj = 1;
var = AppClass.myObj;

AppClass appClass = (AppClass)getApplicationContext();
appClass.myObj=1;