从上面从 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
}
}