編輯:關於Android編程
使用DDMS網絡流量工具來識別關注的區間
Android的DDMS(Dalvik Debug Monitor Server)包含了詳細的網絡使用情況選項卡,這使得跟蹤應用程序使用網絡情況成為可能。使用這個工具,可以監視應用程序傳輸數據的方式和時機,並在此基礎上可以優化底層相關的代碼。
圖3顯示了大約每隔15秒鐘傳輸一次少量數據時網絡使用情況,建議通過預先獲取每個請求的數據或打包上傳的數據來改善網絡使用效率。
圖3. 使用DDMS跟蹤網絡的使用情況
通過監視數據傳輸的頻率和每次連接的傳輸的數據量,可以識別出應用程序耗電較多的區域。通常,應該尋找那些可以被延遲的短時峰值,或是那些由於被搶占而延後的傳輸。
要更好的識別傳輸峰值所產生的原因,就要使用流量統計API,它允許你使用TrafficStats.setThreadStatsTag()方法來標記線程內部發生的數據傳輸情況,也可以使用tagSocket()和untagSocket()方法手動的標記(和解除標記)單獨的網絡套接字。例如:
TrafficStats.setThreadStatsTag(0xF00D);
TrafficStats.tagSocket(outputSocket);
// Transfer data using socket
TrafficStats.untagSocket(outputSocket);
Apache的HttpClient和URLConnection類庫會基於當前的getThreadStatsTag()方法的返回值來自動的標記網絡套接字。這些類庫也可以通過活動的保持池(keep-alive pools)標記網絡套接字,並在回收時解除標記。
TrafficStats.setThreadStatsTag(0xF00D);
try {
// Make network request usingHttpClient.execute()
} finally {
TrafficStats.clearThreadStatsTag();
}
網絡套接字標記在Android4.0以後被支持,但是實時的統計結果只會被顯示在運行Android4.0.3以後的設備上。
DrawerLayout組件同樣是V4包中的組件,也是直接繼承於ViewGroup類,所以這個類也是一個容器類。使用DrawerLayout可以輕松的實現抽屜效果,使用D
Android中,如果我們想繪制復雜的自定義View或游戲,我們就需要熟悉繪圖API。Android通過Canvas類暴露了很多drawXXX方法,我們可以通過這些方法繪
在前面幾篇文章中,我們詳細介紹了Android系統進程間通信機制Binde
1. Why,為什麼要加載縮略圖? 有的時候不需要展示原圖,只需展示圖片的縮略圖,可以節省內存。比如:網易新聞中的圖片浏覽,左邊展示的小獅子圖片就是一個縮略