- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
为此我大发雷霆,如有任何想法或建议,我们将不胜感激。
我有一个对象,它从子线程自身调用 performSelectorOnMainThread:withObject:waitUntilDone:
。这在 95% 的时间里工作正常。自 iOS 测试版和现在发布以来,每隔一段时间,设备就会拒绝执行 performSelectorOnMainThread:withObject:waitUntilDone:
调用...没有错误消息,它不会崩溃,我可以'不要让设备进入“失败”状态,但一旦进入该状态,它就会继续失败,直到我删除并重新安装该应用程序,或强制其退出,然后调整其位置服务限额,然后再次启动它,然后重新调整它的位置服务再次恢复正常......重新启动设备并不能解决它。不先删除就重新安装并不能解决问题。这很奇怪....我知道它大部分时间都有效,因为大多数设备都没有问题,但是有些设备会定期出现故障(可能每 3 或 4 天)。我知道特别是 performSelectorOnMainThread:withObject:waitUntilDone:
没有调用它应该调用的内容,因为我现在有一个失败的设备,并且我已经将 NSLog 放入应该调用的方法中。它运行良好,但在发生故障的设备上,当 performSelectorOnMainThread:withObject:waitUntilDone:
用于调用该方法时,NSLog 显示它没有运行...
这种情况从 iOS 5 测试版开始出现,并且在发布时再次出现。它最常发生在我的 2 台设备上,但在我亲自测试过的其他 10 台设备上都没有。我以为这只是我的设备在测试版中出现了一些问题,但它发生在我从未接触过测试版的全新 4S 以及一个用户的 iPad 2 上(而不是在我的 iPad 2 上)。
我真的不知道去哪里找。我告诉它执行,它通常在几乎所有设备上执行,但在某些设备上,同一行没有响应也没有错误等......
最佳答案
performSelectorOnMainThread:withObject:waitUntilDone 有时会很不稳定。您是否考虑过尝试使用 lib dispatch?
您可以像这样创建一个 block 并将其发布到主线程上:
dispatch_async(dispatch_get_main_queue(), ^{
<do work here>
});
这将具有与使用 performSelectorOnMainThread:withObject:waitUntilDone 相同的保存效果
http://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html#//apple_ref/doc/uid/TP40008091-CH102-SW1
关于iphone - performSelectorOnMainThread 不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921183/
在解析twitter数据时,我使用线程调用主URL来下载数据。它完美地完成了下载,但是当我在下载数据时按下后退按钮时,它会抛出performSelectorOnMainThread 消息已释放。我知道
我有一个执行一些任务的线程。 最后,我想运行一个选择器来隐藏带有动画的图像。 [self performSelectorOnMainThread:@selector(finishUpdate) wit
我在执行SelectorOnMainThread时遇到问题,它收到“EXC_BAD_ACCESS”。 有什么想法吗? 谢谢 最佳答案 EXC_BAD_ACCESS 是指您不应该访问的内存。 您尚未提供
我的应用程序的委托(delegate)正在调用 didFinishLaunchingWithOptions 方法,效果很好。这个方法里面有一行: [viewController performSele
我正在尝试将 – performSelectorOnMainThread:withObject:waitUntilDone: 用于我在 Swift 中开发的 Cocoa 应用程序。我需要应用程序等到工
为此我大发雷霆,如有任何想法或建议,我们将不胜感激。 我有一个对象,它从子线程自身调用 performSelectorOnMainThread:withObject:waitUntilDone:。这在
我正在尝试在主线程上执行此操作: [curItem.mButton setBackgroundImage:newArt forState:UIControlStateNormal]; 所以我这样做..
我想用这个方法在一个 block 中重新加载我的表数据: import UIKit import AssetsLibrary class AlbumsTableViewController: UITa
内存管理是手动完成的,这个项目中没有使用ARC.. 消息对象是使用 alloc init 创建的,下面的代码在后台线程上被调用。 我在以下调用之前传递了一个消息对象: [self performSe
我设置了一个 UITableView,它应该在从网站加载某些数据后显示一些信息。为了更新 UI 和完成加载数据,我使用了以下方法: performSelectorOnMainThread:@selec
我正在尝试从 didUpdateToLocation 方法调用一个方法,如下所示。在我的 buttonUpdate 方法中,我正在更新界面,并试图避免如果我将代码块直接放在 didUpdateToLo
我有两种方法: -(void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resource
只是遇到了奇怪的事情。我有以下代码: -(void)ImageDownloadCompleat { [self performSelectorOnMainThread:@selector(up
我必须循环执行某些任务的特定方法。我使用了 performselectoronmainthread wait until done 方法。如果我调用它一次,它工作正常。但是当我在 for 循环中调用它
我一直在寻找这个问题的答案,但还没有找到任何答案。我有一个看起来像这样的方法 dispatch_async(dispatch_get_main_queue()) { self.performS
如果我在分离线程中使用 performSelectorOnMainThread 调用,主线程何时执行请求?它是在完成当前主线程操作后立即执行此操作,还是存在其他类型的层次结构来确定何时执行 perfo
想知道是否有人知道 Cocoa 的“performSelectorOnMainThread:”方法的低级实现细节,或者有好的文档的指针。 我最好的猜测,而且我认为可能非常接近,是它使用 mach 端口
我可以在下面的行中调用 pushIncompleteDataToServer。 [sharedDataController performSelectorOnMainThread:@selector(
在我的应用程序中有一个发布选项,用户可以在其中填写信息并将其发送到我的网络服务。 我在模态视图上有“表单”。当触摸取消按钮时,我用来关闭它的功能。 当发布按钮被触摸时,我启动一个线程,而 ws 正在使
如果我用 [self performSelectorOnMainThread:@selector(uploadDidEnd:) withObject:foo waitUntilDone
我是一名优秀的程序员,十分优秀!