Swift的Copy On Write机制了解过吗?

轩辕小不懂 发布于 2021-09-14 14:34
阅读 12
收藏 0
分类:其他
1932
Nen
Nen
- 程序员

Swift中参数传递是值类型传递,它会对值类型进行copy操作,当传递一个值类型变量时(变量赋值,函数传参),它传递的是一份新的copy值,两个变量指向不同的内存区域。如果频繁操作的变量占内存较大,会产生性能问题。

Copy On Write是一种优化值类型copy的机制,对String、Int、Float等非集合数据类型,赋值直接拷贝,对于Array等集合类型数据,只有传递的内容值改变后才进行拷贝操作。

Copy On Write的实现:set函数中判断是否存在多个引用,只有存在多个引用的情况下才会进行拷贝操作。另外,自定义结构体是不支持Copy On Write的。

请先 登录 后评论