Es nicht der Fall ist scheint eine definitive Antwort im Netz zu sein, also habe ich mir den Code für TextLayoutCache.cpp angesehen. Sieht gut aus für mich. Es werden Textlayoutdaten zwischengespeichert, um die Leistung zu verbessern. Derzeit gibt es eine feste Standardcachegröße von 0,5 MB, die in TextLayoutCache.h definiert ist.
Wenn Sie also Layout-Text in einen festen Satz von Werten ändern (< 0,5 MB), wird die Protokollnachricht nicht angezeigt.
Wenn Sie den Text in dynamische Werte ändern, wird der Cache schließlich gefüllt und der Cache-Eintrag für LRU (Least Recently Used) wird gelöscht, und Sie sehen die Protokollnachricht. Es ist nur eine Debug-Nachricht, kein Fehler, kein Leck. Es ist eine nützliche Leistungsmetrik darüber, wie Android-Internals unsere App handhaben.
Beachten Sie, dass TextLayoutCache nicht in Android-Versionen> = 5.
Dank verwendet wird, ich es versuchen würde, aber irgendwie, trotz, wenn es funktioniert, halte ich den Fehler nicht zu verstehen, wie/wann/Was es ist wird zwischengespeichert. BTW, ich überprüfte und ich verwende die Referenz an mehreren Stellen, so dass ich nicht die Findbyid jedes Mal aufrufen möchte, wenn ich eine Methode in der Klasse verwende, anstatt nur eine Referenz zu haben und sie zu verwenden. – polonskyg
Wie ich erwähnt habe, stieß ich während der Aktualisierung von TextView von Thread kontinuierlich darauf. Wenn Sie findViewById nicht aufrufen, fügt es diese Zeilen zu Ihrem Logcat hinzu. Es ist nicht mit Speicherverlust verbunden, ich habe die Frage mit Grund beantwortet, warum es passiert (in meinem Fall). – MobileEvangelist
Ok, ich habe es versucht, weiß es, aber immer wieder zu sagen, könnte ein anderes Problem sein. Trotzdem danke! – polonskyg