簡體   English   中英

NSNotification觀察員開銷

[英]NSNotification observer Overhead

只是想知道,有沒有人有一次激活大量NSNotification觀察者的經驗?

觀察員的開銷是多少? 一次運行50個或100個或更多觀察員是否合理?

我有一個顯示數據庫滾動列表的應用程序,我想將NSNotificationCenter實現為一種可擴展的方法,用於偵聽單個媒體並將其分配給適當的UIViews。

干杯,道格

如果在后台處理通知,則沒有開銷。 如果您在一個線程中處理NSNotification,則任何觀察者都可能對它進行錯誤處理,從而導致阻塞線程。 如果此線程恰好是主線程(在您的情況下是),則應用程序將凍結。

這取決於處理通知的方式。 發送通知不是開銷,與其他任何方法一樣,它們只是50 -100個方法調用。 (我的應用程序中有5000種方法)。 問題是處理方式。 如果每個觀察者長時間阻止該通知,則將無法執行任何操作。 我建議使用NSNotification隊列代替NSNotification隊列

如果時間允許,我還建議您參考閱讀有關Apple的Objects Communication的文章。

我將就此接受J2theC的建議。

我目前正在改變設計模式,以使用委托方法來防止凍結。

感謝您的反饋!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM