In einigen meiner Apps verwende ich ein paar Singleton-Objekte als "Manager". Ich instanziiere sie in Application.onCreate
und ich gebe ihnen die ApplicationContext
, die ich in einem WeakReference
speichern.Android Context Weak Reference
Einige der starten, nachdem eine Hintergrundaufgabe Methoden „Manager“ von einem Activity
aufgerufen wird, so gebe ich die Activity
‚s context
dem Verfahren, und auch eine WeakReference
halten, dass (und verwenden Sie diese innerhalb eines AsyncTask
). Dieser Verweis wird beibehalten, bis ein Activity
das nächste Mal eine Methode aufruft, die in den Hintergrund tritt, wenn WeakReference
auf context
des neuen gesetzt wird.
Meine Frage ist, funktioniert die ApplicationContext
in einem WeakReference
gehalten werden müssen, und gibt es irgendwelche Probleme der Activity
‚s context
wie das mit dem Halten?
Ich habe den Eindruck, dass Sie eine 'Activity'' Context' in einer AsyncTask verwenden müssen. Täusche ich mich? Gibt es eine Situation, in der 'ApplicationContext' nicht verwendet werden kann? Wenn nicht, würde ich lieber zum 'ApplicationContext' wechseln (würde mir das Leben leichter machen). – Eliezer
Nur eine Ergänzung zu oben, von dem, was ich weiß, ein 'ApplicationContext' sollte nicht verwendet werden, wenn eine' Ansicht' instanziiert wird. Ist das korrekt? – Eliezer