关于ios使用线程导致程序不规律的闪退问题解决
来源:互联网 发布:印度软件企业排名 编辑:程序博客网 时间:2024/04/28 20:45
之前自己写的一个小项目,使用支线程的目的就是为了一些运算 或者服务器间的交互。
[NSThreaddetachNewThreadSelector:@selector(setLoadData)toTarget:selfwithObject:nil];
开启一个线程,方法是setLoadData,主要是去服务器那边请求数据。获取数据之后通知主线程解析数据,方法是[selfperformSelectorOnMainThread:@selector(parseTheData:)withObject:sizeDatawaitUntilDone:YES];
在parseTheData里面是具体的解析方法。SVProgressHUD开源类库,大家都称它为小菊花。
为了在请求数据的过程就显示小菊花,就是“正在加载”,我在支线程里面使用了,
[SVProgressHUDshowWithStatus:@"加载中..."maskType:SVProgressHUDMaskTypeClear];
结果程序不一定每次都闪退,但是有时候操作快了,就会出现闪退。
原因我觉得是:只有主线程才能控制view的变化,会导致资源抢夺 死锁的。
解决方法:将[SVProgressHUD showWithStatus:@"加载中..." maskType:SVProgressHUDMaskTypeClear];写在线程发起的前面。
问题二:
关于在主线程里声明的数组空间,我在支线程中
removeAllObjects
起初还是正常的,但是在不管的请求数据的过程就,发现程序会不规律的闪退,这让我蛋疼~
后来我通知主线程去removeAllObjects,问题就解决了。
原因:支线程别去用主线程的数据 最好,使用的话 也传入复制使用为好。这样会导致资源抢夺,死锁,程序闪退。
以上是自己记录,如果有什么错误,请大神们指出。
- 关于ios使用线程导致程序不规律的闪退问题解决
- 多线程导致的iOS闪退分析
- WebView中使用Label标签导致iOS闪退
- ios程序闪退
- OOM内存溢出错误,导致程序闪退的解决办法
- CCAssert(sm_pSharedApplication, "")导致程序闪退的原因以及解决方案
- 修改Activity的继承类导致程序闪退
- 关于iOS程序测试时候闪退问题
- Eclipse闪退的问题解决
- Android应用程序使用SimpleDateFormat报错并导致程序闪退
- iOS开发之千呼万唤始出来iOS10更新内容以及iOS 10的闪退问题解决
- 关于ios调用第三方asyncUdpSocket闪退的解决方法
- 关于使用UIAlertView之后pop或者push时键盘闪退问题解决方法
- IOS 6.0 下 在输入中文时 按下锁屏键 导致的闪退问题
- IOS 6.0 下 在输入中文时 按下锁屏键 导致的闪退问题
- unity ios 因为 trampoline 容量不足导致的闪退问题
- iOS sectionFootersPinToVisibleBounds 导致iOS9.0系统之前的用户闪退
- 关于tensorboard的使用不显示的问题解决方法
- java基础11 泛型
- 通过ashx创建image图片验证
- [各种面试题] 交替字符串
- Setting up bridged OpenVPN on Freebsd
- DB2的like详解
- 关于ios使用线程导致程序不规律的闪退问题解决
- 近期编程总结/索引/线程/timer/widget/try/cursor/base/
- 关于ios 时间格式
- 【C++基础之十】友元函数和友元类
- Rebuild the controlfile
- 对 Android 开发者有益的 40 条优化建议
- 可变长度数据存储结构动态删除元素
- php5 non-thread-safe和thread-safe这两个版本有何区别?
- unix环境高级编程-5.4-缓冲