程序关于调出键盘崩溃问题(系统为8.0的机器)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jx_zls/article/details/78759489


         偶然找到一个8.0系统的手机,安装上项目后,发现在上面出现崩溃,但是在10.0以上系统的手机上面并没有出现     崩 溃,于是乎,找bug路程开始了:

定位  发生崩溃时,断点定位到 “ 键盘将要成为第一响应者的时候”,也就是调出键盘的时候。

确认原因  重启程序时,再次调出键盘,发现并没有崩溃,键盘调出成功,但是当切换到其他页面,再次返回的时候崩溃重     现,最后确定了会发生崩溃的两个页面,两个页面有相同的吊起键盘操作,同样,也都注册了键盘将要出现的通知,     在看过前辈写的代码后(项目是接手的),发现视图也正常销毁,但是在其中的一个页面的键盘将要出现的通知却没                             有注销,并且视图都是添加到keywindow上的,看完两个页面的代码后,除了这个没有销 毁的通知外,并没有发现                               其他的明显问题。

解决 将键盘将要弹出的通知销毁,发现bug排除。


总结 通知是成双成对的,有注册通知,就必须销毁通知,不然后期用的多了,会造成一些莫名的bug。 按照代码的思路, 又重新写了一个demo进行测试,发现确实造成了崩溃,但有一点问题: 此现象在8.0机器上面了闪退,但是在10.0的上 面却没事,不太明白是什么原因。又知道答案的请告知。。。



猜你喜欢

转载自blog.csdn.net/jx_zls/article/details/78759489
今日推荐