上記の Android Studio ヒープ ダンプから取得したスクリーンショットから、オブジェクト ハッシュ コード [ 52675819 ] がヒープ ダンプ内のオブジェクト参照 [ proxyVideoSink@315784776 ] に表示されているものと一致しないことが明確にわかります。だから私の質問は、オブジェクトのヒープダンプにあるこのオブジェクト参照番号[ 315784776 ]とは何ですか?それは何を参照していますか?
このマッピングの目的は、実際のオブジェクトが Java コードで割り当てられた場所を見つけることです。
参照用に、私のproxyVideoSinkクラスコードを以下に示します。
class ProxyVideoSink : VideoSink {
private var target: VideoSink? = null
var isFrameAvailable: Boolean = false
var hashcode: Int = hashCode()
var name: String = "test object"
var toString: String = toString()
@Synchronized
override fun onFrame(frame: VideoFrame) {
isFrameAvailable = true
if (target == null) {
return
}
target!!.onFrame(frame)
}
@Synchronized
fun setTarget(target: VideoSink?) {
this.target = target
}
}