APSchmidt 发表于 2022-11-4 11:29

潜在指针对应的地址有对象说明该对象有被引用,所以不能被回收。但是潜在指针里的值并不一定真的是指向地址,所以不一定是真的引用了这个对象。就导致了这个对象实际上没有被引用但是却不能被回收。

xiangtingsl 发表于 2022-11-4 11:37

实现就是这样,小内存确实不会查黑名单。参考黑名单意味着有时候想分配却不能分配(踩中了黑名单),不参考黑名单意味着有时候想回收却不能回收(分配在了黑名单所在的地方意味着当时正在被假的潜在指针引用)。如果分配大内存不过黑名单,那么想要回收的时候可能就会因为大内存被假的潜在指针引用而无法回收(产生黑名单的潜在指针依然存在),而小内存因为过于保守的原因没被回收也不会那么浪费,所以小内存就没参考。

ChuanXin 发表于 2022-11-4 11:42

怎么遍历一个对象的元素的?为啥不能知道这个对象下面的元素是不是一个指针呢?没想明白
页: 1 [2]
查看完整版本: 【笔记】Unity内存分配和回收的底层原理