2016-03-17 14:19:16.728 JianDao[5151:154631] Unknown class _TtC7JianDao14ViewController in Interface Builder file. didFinishLaunchingWithOptions applicationDidBecomeActive 2016-03-17 06:19:21 +0000 prevStoredUser=Optional(“xxx”) prevStotedPassword=Optional(“111111”) JianDao(5151,0x4dea000) malloc: *** mach_vm_map(size=8388608) failed (error code=3) *** error: can’t allocate region securely *** set a breakpoint in malloc_error_break to debug |
搜:
malloc mach_vm_map size failed error code 3
monotouch – mach_vm_map failed (error code=3) – Stack Overflow
不过刚才有提示,对于storyboard有个更改,不可恢复,问我是否保存
我保存了。
不知道,是否对此问题有影响。
objective c – mach_vm_map(size=) failed (error code=3) – Stack Overflow
malloc: *** mach_vm_map(size=1048576) failed(error code=3) *** err_Forever_Love_新浪博客
[erlang-bugs] malloc error: can’t allocate region
Despite reinstall Dropbox quite with error code 3 – Dropbox Community
Crash Mac version and crashing
可以看到,一直在吃内存:
最近记得改动的代码,好像只有:
passwordTextField.leftView = leftPaddingView passwordTextField.leftViewMode = UITextFieldViewMode.Always |
拿到是这个导致的??
结果还真是的。。。
去掉后,就可以了。
感觉像是:
此处的,出错时的完整代码是:
把一个UIView,作为TextField的leftPadding的view,赋值给了两个TextField:
let leftPaddingView = UIView() leftPaddingView.frame = CGRectMake(0, 0, 10, textFieldHeight) userTextField.leftView = leftPaddingView userTextField.leftViewMode = UITextFieldViewMode.Always passwordTextField.leftView = leftPaddingView passwordTextField.leftViewMode = UITextFieldViewMode.Always |
结果就导致了此处的内存溢出直到崩溃。。。
把后者去掉,重现创建一个UIView,作为padding的view:
let userLeftPaddingView = UIView() userLeftPaddingView.frame = CGRectMake(0, 0, 10, textFieldHeight) let pwdLeftPaddingView = UIView() pwdLeftPaddingView.frame = CGRectMake(0, 0, 10, textFieldHeight) userTextField.leftView = userLeftPaddingView userTextField.leftViewMode = UITextFieldViewMode.Always passwordTextField.leftView = pwdLeftPaddingView passwordTextField.leftViewMode = UITextFieldViewMode.Always |
即可避免此处的app的内存溢出的崩溃。
[总结]
当app出现
malloc: *** mach_vm_map(size=8388608) failed (error code=3)
之类的错误时,往往是内存溢出:
1.可以通过Xcode调试工具
Debug Navigator-》Memory
中查看到内存异常:
此处内存一直增大,直到崩溃。
2.解决此问题的办法是:
找到你最近的一次代码的改动,找出具体是增加了哪些代码,而导致的内存泄漏。
我此处的就是把同一个UIView赋值给了两个TextFiled作为leftPadding的view,而导致的内存泄漏。
改好了代码,即可解决此问题。
转载请注明:在路上 » [已解决]swift中调试app出错崩溃:malloc mach_vm_map size failed error code 3