Iphone 哪个选项让我的性能更好:iOS中的变量声明还是隐式函数
并非总是代码越少越好,这是我学到的最后一课 所以我想到了这个问题 在内存管理、速度等方面,还有什么更好的呢Iphone 哪个选项让我的性能更好:iOS中的变量声明还是隐式函数,iphone,ios,memory-management,Iphone,Ios,Memory Management,并非总是代码越少越好,这是我学到的最后一课 所以我想到了这个问题 在内存管理、速度等方面,还有什么更好的呢 UIAlertView *message = [[UIAlertView alloc]initWithTitle:@"Notification" message:@"My message" de
UIAlertView *message = [[UIAlertView alloc]initWithTitle:@"Notification"
message:@"My message"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:@"Cancelar",nil];
[message show];
或
这是一个非常短的差异(两行与一行相比),但当您使用更复杂的代码和函数减少更多的代码时,这可能会更加复杂
提前感谢您的回答堆上分配的内存是相同的,即
UIAlertView
实例所需的内存
后者将在堆栈上为您保存一个变量声明,这对于您正在使用的上下文来说是绝对可以忽略的
不会有任何明显的速度提升,所以只要坚持好的编码风格,创建一个变量,在回读自己的代码时就不会让自己头疼。虽然第二种解决方案占用的内存和时间会少一点,但通常情况下,代码最好是可读的,而不是优化的。在大多数情况下,代码是由一组人开发的,最好是每个阅读该代码的人都能快速、轻松地理解它在做什么。作为一般规则,除非证明有必要,否则不要进行优化(例如,它明显减慢了速度或导致使用了太多内存)。速度不会有明显变化,而且由于它们都执行相同的操作,也不会节省内存 打个比方,读“它是个男孩!”或“它是个男孩!”有什么不需要思考的呢 不管两者之间的拼写差异如何,处理信息所需的时间大致相同,而且时间几乎为零 回答你的问题(或者我认为是你的问题)。这两者在内存节省方面几乎没有区别,并且不会节省任何处理时间
使代码更易于阅读也更好。尝试读取被破坏的代码可能比尝试处理如此微小的差异(如您的示例)浪费更多的时间。我相信两者都做相同的事情,因此使用相同的内存量。。。即使他们没有这样做,从一个切换到另一个也几乎不会节省内存。至于速度,如果有差异(可能没有),你将无法察觉。如果你的问题得到了回答,确保你接受其中一个。否则,这看起来像是一个未完成的问答。谢谢大家的回答。现在很清楚,过程是相同的,即使它需要两行或三行以上。通常,代码最好是可读的,而不是优化+1。不管怎样,编译器通常可以优化您自己尝试做的大部分工作。
[[[UIAlertView alloc]initWithTitle:@"Notification"
message:@"My message"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:@"Cancelar",nil]show];