<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                何為數據更新通知?先來看日常生活中的一個例子。 筆者所在公司采用BugZilla來管理Bug。在日常工作中,筆者和同事們的一部分工作就是登錄BugZilla查詢各自名下的Bug并修改它們。如何跟蹤自己的Bug呢?其實,以上描述中已經提到了一種方法,即登錄BugZilla并查詢。除此之外,BugZilla還支持另一種方法,即為每個Bug設置一個關系人列表,一旦該Bug的狀態發生變化,BugZilla就會給該Bug關系人列表中的人發送郵件。 上例中提到的第二種方法就是本節要分析的數據更新通知機制。一般說來,領導和項目經理(PM)使用第一種方法居多,因為他們需要不定時地查詢和統計全局Bug的情況。而程序員使用第二種方法較多(也許是沒辦法的事情吧,誰會情愿主動查詢自己的Bug呢?)。 類似的通知機制在日常生活中的其他地方還有使用。在操作系統中,這種通知機制同樣也廣泛存在。例如,在OS中,設計人員一般會安排外部設備以中斷的方式通知CPU并讓其開展后續處理,而不會讓CPU去輪詢外設的狀態。 現在回到Android平臺,如果程序需要監控某數據項的變化,可以采用一個類似while循環的語句不斷查詢它以判斷其值是否發生了變化。顯而易見,這種方式的效率很低。有了通知機制以后,程序只需注冊一個ContentObserver實例即可。一旦該項數據發生變化,系統就會通過ContentObserver的onChange函數來通知我們。與前面所述的輪詢相比,此處的通知方式明顯更高效。 通過上面的描述可以知道,通知機制的實施包括兩個步驟:第一步,注冊觀察者;第二步,通知觀察者。在Android平臺中,這兩步都離不開ContentService,下面來認識一下它。 >[info]**提示**:在設計模式中,通知機制對應的模式是Observer模式,即觀察者模式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看