草庐IT

主线程

全部标签

ios - MKMapView 必须在主线程上初始化。我如何管理线程?

我搜索过类似的问题,但没有找到答案,请考虑我的情况。我有两个ViewController。第一个用作“启动画面”。它从服务器获取数据,并执行到下一个vc的segue。一切都在主线程上完成。overridefuncviewDidLoad(){super.viewDidLoad()updatePickerInfoBeforeStart()}funcupdatePickerInfoBeforeStart(){self.retrieveCurrency{[weakself]currenciesinCurrency.shared.currencies+=currenciesself?.isRea

ios - 检测主线程何时被锁定/繁忙(IOS)

有什么方法可以检测主线程何时被锁定/忙碌(也就是不会响应触摸事件)?可能的方向检查dispatch_get_main_queue的大小(但我不知道如何操作这个对象来查看它的大小)[[UIApplicationsharedApplication]isIgnoringInteractionEvents]但这种方法只在部分时间有效 最佳答案 使用仪器工具“timeprofiler”,然后找出阻塞主线程的线索。例如:我发现一种方法正在运行主线程的12.7%cpu时间。然后我发现它的名字是“waitingThread”。看起来该方法正在阻塞主

iphone - 主线程在执行后台线程时正在等待[NSManagedObjectContext(_NSInternalAdditions)lockObjectStore]

我正在通过后台线程拥有的新创建的NSManagedObjectContext在后台线程(使用GCD)上执行昂贵的读取操作(约5秒,约30,000个对象)。但是,我没有在后台执行此操作,因为主线程正在等待持久性存储上的锁定,因此UI被冻结。这是堆栈跟踪:*thread#1:tid=0x1c03,0x3641be78CoreData`-[NSManagedObjectContext(_NSInternalAdditions)lockObjectStore],stopreason=breakpoint1.1frame#0:0x3641be78CoreData`-[NSManagedObjec

iOS:如何让后台线程在主线程上重绘 View

我的应用程序将查询数据库50次,然后通过将正确的UIImageView添加到另一个UIImageView做出相应的react,然后我希望应用程序在每个循环中立即显示它。唉,经过很多个晚上我都没有让它工作。应用程序不会立即显示UIImageView。话虽如此,当我在中间循环期间放大或缩小时,UIImageViews将会出现!我一定是错过了什么......到目前为止,除了最后一部分[UIScrollViewperformSelector....之外,所有代码都有效。请提前帮助并谢谢你。UIScrollView*firstView;UIImageView*secondView;UIImage

ios - 使用键值观察和ECSlidingView库主线程崩溃

我正在使用NSKeyValueChange来刷新从Web服务获取图像后出现在TableView中的图像。-(void)observeValueForKeyPath:(NSString*)keyPathofObject:(id)objectchange:(NSDictionary*)changecontext:(void*)context{if([keyPathisEqual:@"thumbnail"]){UIImage*newImage=[changeobjectForKey:NSKeyValueChangeNewKey];if(newImage!=(id)[NSNullnull]){

ios - 如何在不卡住主线程的情况下计算 NSAttributedString 的高度

我正在开发一款显示包含不同长度文本的帖子的应用程序。当我通过服务器请求获取数据时,我将格式应用于NSAttributedString,计算特定宽度的文本高度,然后存储该值以供稍后tableView调用heightForRowAtIndexPath:时使用。对于每一个新的帖子,我调用这个方法:-(CGFloat)calculateTextViewHeight:(NSString*)string{NSAttributedString*bodyText=[selfformatString:string];UITextView*tempTextField=[[UITextViewalloc]i

ios - Firebase signInWithEmail 函数是否在主线程中运行?

当我运行以下代码时:[[FIRAuthauth]signInWithEmail:@"myemail@mydomain.com"password:@"hdfjhfjhdbf"completion:^(FIRUser*user,NSError*error){NSLog(@"IaminBlock");}];NSLog(@"Iamhere");我的输出是:我在这里我在街区这意味着FIRAuthblock在主线程以外的另一个线程中运行。我在代码中添加了额外的一行(同时无限循环)[[FIRAuthauth]signInWithEmail:@"myemail@mydomain.com"passwor

ios - 为什么不断设置动画的 UIActivityIndi​​cator 不会阻塞主线程?

我们都显示事件指示器,而一些冗长的操作在后台进行。尽管事件指示器显示一个不断旋转的轮子,但它不会给主线程带来负担,因为同一屏幕中的其他UIComponents仍会对触摸使用react。我认为我知道的:我知道所有触摸事件都由主线程处理,并且主队列用于对事件进行排队。考虑到主队列是序列化队列,并且在任何给定时间点一次只能运行一个任务,小巷触摸事件应该在主队列中排队,而我的主线程正忙于刷新屏幕/调用UIActivityIndi​​cator的drawrect。研究:我查看了第三方事件指标的代码。他们中的大多数人使用CABasicAnimation并始终在动画上调用repeat。虽然很少有工作

ios - webViewDidFinishLoad 阻塞主线程

我刚刚注意到webViewDidFinishLoad方法阻塞了整个应用程序,所以我什至无法触摸任何按钮。我需要解析UIWebView的结果页面,这可能会花费很多时间。那么在不阻塞整个应用程序的情况下解析它的最佳方法是什么?也许创建另一个线程? 最佳答案 使用GCD在后台解析它:-(void)webViewDidFinishLoad:(UIWebView*)webView{//GetthecontentsfromtheUIWebView(inthemainthread)NSString*data=[webViewstringByEva

ios - 如何使用 PSPDFKit 检查在后台线程中使用主线程代码?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion我的应用程序缓慢频繁。这个UI很困惑。我不可能。我想使用PSPDFKit检查在后台线程中使用主线程代码。谢谢!