ios – C-Struct vs Object

ios – C-Struct vs Object,第1张

概述我目前正在为iPhone制作Conway的生命游戏模拟器,我对内存管理有一些疑问.请注意,我正在使用ARC. 对于我的应用程序,我将需要大量的C样式结构或Objective-C对象来表示单元格.可能有几千个,很明显,记忆管理浮现在脑海中. 结构我对结构的论证是单元格不需要典型的OO属性.他们唯一要保留的是两个BOOL值,因此这些单元格不会占用大量的内存.另外,我需要使用二维数组.使用结构,我可以使 我目前正在为iPhone制作Conway的生命游戏模拟器,我对内存管理有一些疑问.请注意,我正在使用ARC.
对于我的应用程序,我将需要大量的C样式结构或Objective-C对象来表示单元格.可能有几千个,很明显,记忆管理浮现在脑海中.
结构我对结构的论证是单元格不需要典型的OO属性.他们唯一要保留的是两个BOol值,因此这些单元格不会占用大量的内存.另外,我需要使用二维数组.使用结构,我可以使用C风格的2d数组.据我所知,Objective-C中没有替代品.我觉得为两个布尔值创建一个对象是过度的.
Objective-C对象我的论点(以及大多数其他人)是围绕Objective-C对象的内存管理非常容易和有效的ARC.此外,我已经看到一个结构,即结构对对象的内存减少不是那么大.

所以,我的问题.我应该选择老式,精益,兼容二维阵列结构吗?或者我应该坚持使用典型的Objective-C对象并冒使用额外的内存.

事后处理:如果您推荐Objective-C对象,请提供表示二维数组的备用存储方法.这很关键,也是使用Objective-C对象的最大缺点之一.
谢谢.

解决方法 “过早优化是所有邪恶的根源”……如果你正在尝试构建一个拥有100,000个用户并发游戏的Game of life服务器,那么内存占用可能很重要.对于任何现代设备上的单人实现,即使是移动设备,内存大小也非常具有学术性. 因此,无论是游戏运行还是运行最快,或者(更好)使代码最具可读性和可维护性.人类周期比计算机周期花费更多.假设你需要为游戏的每个单元格提供第三个布尔值…你不能扩展的对象可以节省大量时间而不是硬编码数组索引吗? (由于这个原因,结构比基元数组好很多……) 我确实在需要时使用了更密集的数据表示,但程序员时间的开销必须值得.只是我的$.02 … 总结

以上是内存溢出为你收集整理的ios – C-Struct vs Object全部内容,希望文章能够帮你解决ios – C-Struct vs Object所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1065913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存