局部变量使用完需要执行 clear 吗?

2022-12-06 02:09:43 +08:00
 fhj

局部变量 new 出来的对象需要 clear()吗

4355 次点击
所在节点    Android
7 条回复
learningman
2022-12-06 02:21:37 +08:00
来个 bot 回复下,这没头没脑的人是回答不了
fhj
2022-12-06 02:26:08 +08:00
@learningman 哈哈
dangyuluo
2022-12-06 06:21:58 +08:00
clear 干什么?内存这么大不就是为了塞满么
XXWHCA
2022-12-06 09:20:47 +08:00
有没有可能 #1 也是 AI (假的) 🐶
kyuuseiryuu
2022-12-06 09:35:49 +08:00
不需要。局部變量在函數內部定義,函數執行完後變量會被自動銷毀,不需要手動清除。如果局部變量的作用域已經結束,那麼變量的內存空間將會被自動釋放,而不需要通過 clear 命令來清除。另外,在某些程式語言中,也可能沒有 clear 命令或函數,因此不能使用它來清除變量。


———— 來自 OpenAI 的回答
ysc3839
2022-12-06 11:46:27 +08:00
@kyuuseiryuu 这说法反而不一定对,Java 等 GC 语言不能保证离开作用域就释放对象,所以在一些要保证离开作用域就释放的场景下需要手动释放,或者配合 try-with-resources 之类的功能。
kyuuseiryuu
2022-12-06 12:15:45 +08:00
@ysc3839 题主问的是要不要,所以是“不需要”,在“一定要”的场景下,题主应该问“怎么做”。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900374

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX