Ich habe Gedanken über die folgenden Design-Machen anonyme Klasse statisch - durch statische Methode
public void cntDownPossesion() {
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
int poss = Integer.parseInt(possesionTextView.getText().toString());
poss--;
possesionTextView.setText("" + poss);
iCount++;
}
}
Seit einem neuen Runnable()
jeden Rahmen erzeugt wird. Ich benutze eine SurfaceView
und es verwendet einen Arbeitsfaden. Die textview
wird auf dem Hauptfaden erstellt, so dass ich die Updates von "poss" zurück zum Hauptfaden bringen muss, da der Arbeitfaden es nicht berühren kann.
Ich denke, das kann hohe Speicherverbrauch erzeugen und weiß nicht, ob der GC hält?
Ich kam mit der Idee, das Runnable-Objekt statisch zu machen, aber da es eine innere Klasse ist, ist dies nicht möglich. Was ist mit dem Kontext, das ist die Methode cntDownPossesion
statisch - wenn die Methode statisch ist, ist nicht die Innerclass
selbst statische dann ???
Nichts kann statisch, wenn 'possesionTextView' und' iCount' sind Instanzvariablen –