2017-10-20 2 views
0

erstellen Ich arbeite Kürzlich Speicherverlust auf meiner Android-Quelle.Speicherleck auftreten, wenn Objekt mit 'neu' auf Android

ich Zuteilung Tracking-Tool auf Android Studio

meine app ist die Aufnahme Kameravorschau App

enter image description here

, wenn Sie das Bild betrachten

protected int getOutPutBufferIndex() { 
     IMediaCodec.BufferInfo bufferInfo = new IMediaCodec.BufferInfo(); //here occur memory leak 
     int outputBufferIndex = mediaCodec.dequeueOutputBuffer(bufferInfo, timeout); //get buffer index 
     return outputBufferIndex; 
} 

diese Methode nur Puffer zurückgeben Index.

I auftreten Speicherleck erraten, wenn das Objekt new

mit erstellen, so versuche ich auf return outputBufferIndex;

hinzufügen, aber die zugewiesen nie benutzt Nachricht.

und Speicherverlust auftreten unverändert.

so, wie, wenn Objekt mit new erstellen, vermeiden Speicherleck auf Android?

danke.

+0

, die nicht wie 'C++ sieht' es wie 'Java' aussieht. – Galik

+0

Von diesem Bild sehe ich 'Java' erwähnt. Das ist nicht 'C++' – PaulMcKenzie

+0

sorry, ich füge genannten Fehler hinzu – chohyunwook

Antwort

0

versuchen MediaCodec.BufferInfo Verwendung mit neuen Betreiber assignment.it sollte Ihr Fehler entfernen ..

+0

danke, 'IMediaCodec' ist überschreiben' MediaCodec. normalerweise, object clear verwende ich 'object = null 'aber meine Quelle funktioniert nicht. – chohyunwook