Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android内存分析器对象引用不';与对象哈希代码不匹配_Java_Android_Memory Profiling_Android Profiler - Fatal编程技术网

Java Android内存分析器对象引用不';与对象哈希代码不匹配

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

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

该数字是唯一标识每个对象的低级ID,与哈希代码无关


其他一些探查器为同一类的实例指定唯一的数字(例如从1、2、3等开始计数)。Android Studio Profiler恰好重复使用了一个低级ID,该ID用于帮助用户知道何时可以看到不同的对象。也许从1开始计数会更直观。

好的,除了我所做的将android profiler中显示的对象映射到实际的java对象之外,还有其他方法吗?