首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适用于安卓平台的Ios CFRunLoop和NSRunLoop

适用于安卓平台的Ios CFRunLoop和NSRunLoop
EN

Stack Overflow用户
提问于 2015-01-21 09:39:35
回答 2查看 648关注 0票数 0

Java Android中的CFRunLoop或NSRunLoop。

乍一看(来自IOS文档),CFRunLoop似乎等同于Android...but中的处理程序和循环程序,它还用于接收来自网络的通知和回调等…(我不清楚)……

我需要帮助理解这个类的一般用法,以帮助在android中找到一个很好的等价物,或者实现我自己的一个。

谢谢,

EN

回答 2

Stack Overflow用户

发布于 2015-01-21 20:37:00

NSRunLoop是CFRunLoop的包装器。

作为一名从安卓转过来的iOS开发人员,我可以告诉你,NSRunLoop和CFRunLoop在安卓中的等价物是 Looper ,尽管RunLoop和Looper之间略有不同。

而且RunLoop和循环的用法是不同的。关于RunLoop的用法,你可以看看这个链接:

https://stackoverflow.com/a/12092176/2805488

然而,对于android Looper的用法:

http://developer.android.com/reference/android/os/Looper.html

票数 2
EN

Stack Overflow用户

发布于 2016-07-14 19:03:35

我不认为Android架构在主线程中有runloop实现,在Android中,主线程有一个事件处理程序来处理触摸事件、广播侦听器、活动生命周期回调……但是它们不处理来自套接字的流事件(像从套接字接收的数据那样的事件)。

我们需要在单独的线程中处理这些事件,如果我们需要在这个线程中进行一些UI更改,我们需要使用循环将消息传递给主线程处理程序,因为我们知道UI更改不能在其他线程中完成。

但在IOS中,NSRunLoop帮助我们在主循环中处理这些事件,而不是处理多线程问题。NSRunloop不会创建单独的线程,而是使用相同的线程来处理事件。

我们应该小心使用NSRunLoop添加事件,如果需要几秒钟的时间,最好使用NSThread而不是NSRunloop,这会阻止主线程处理触摸事件。

我附上了帮助我理解这些概念的链接,关于NSRunloop和关于handlers and loopers

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28058235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档