Java Android内存分析器对象引用不';与对象哈希代码不匹配
从上面的android studio堆转储截图中,我可以清楚地知道对象哈希代码[52675819]与对象引用中显示的内容不匹配[proxyVideoSink@315784776]在堆转储中。所以我的问题是,在对象的堆转储中,这个对象引用号[315784776]是什么,它指的是什么 此映射的目的是查找java代码中实际对象的分配位置 我的proxyVideoSink类代码如下所示,仅供参考:Java Android内存分析器对象引用不';与对象哈希代码不匹配,java,android,memory-profiling,android-profiler,Java,Android,Memory Profiling,Android Profiler,从上面的android studio堆转储截图中,我可以清楚地知道对象哈希代码[52675819]与对象引用中显示的内容不匹配[proxyVideoSink@315784776]在堆转储中。所以我的问题是,在对象的堆转储中,这个对象引用号[315784776]是什么,它指的是什么 此映射的目的是查找java代码中实际对象的分配位置 我的proxyVideoSink类代码如下所示,仅供参考: class ProxyVideoSink : VideoSink { private var targe
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
}
}
该数字是唯一标识每个对象的低级ID,与哈希代码无关
其他一些探查器为同一类的实例指定唯一的数字(例如从1、2、3等开始计数)。Android Studio Profiler恰好重复使用了一个低级ID,该ID用于帮助用户知道何时可以看到不同的对象。也许从1开始计数会更直观。好的,除了我所做的将android profiler中显示的对象映射到实际的java对象之外,还有其他方法吗?