android開發系列日誌–(6)

來源:互聯網
上載者:User

一.下載 *
    1.多線程下載
        開啟多個線程, 指定同一個URL, 指定同一個檔案
        不同的線程請求URL時指定不同的Range, 不同的寫成寫入同一個檔案時seek()到不同的位置
        每一個線程負責下載其中一部分
    2.斷點續傳
        在下載的過程中, 每下載一部分資料, 就把已完成的進度儲存
        下次開始的時候從檔案中讀取上次已完成進度, 從這個進度後面繼續

二.Handler *****
    1.什麼是Handler
        Handler可以用來線上程之間進行通訊, Android中的介面組件只能在建立介面的線程中修改, 如果主線程建立介面, 那麼新線程就無法修改.
        某些時候我們一定要在新線程中修改主線程的介面, 這時就可以使用Handler通訊.
    2.怎麼使用
        sendMessdage
            在新線程中通過Handler的引用調用sendMessage()方法, 發送一個Message對象
            這時建立Handler的線程就會執行handleMessage()方法得到新線程發送的Message對象
        post
            在新線程中通過Handler的引用調用post()方法, 發送一個Runnable對象
            這時建立Handler的線程就會執行Runnable中的run()方法
           
三.ANR異常
    1.什麼是ANR異常
        Application Not Response 應用程式無響應, 在使用者進行一個操作, 而Android系統6秒內沒有對其進行處理的時候, 程式就會出現ANR異常.
    2.為什麼會出現ANR異常
        Android系統中處理使用者操作的工作是在主線程中執行的, 如果我們的程式在主線程中進行一些耗時的操作, 導致使用者的操作6秒不能處理, 就會出現異常.
    3.怎麼解決
         將耗時的操作放在新線程中執行
         如果需要操作介面, 那麼使用Handler進行處理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.