編輯:關於Android編程
1 android架構對流量的統計通過一個TrafficStats類可以直接獲取
獲取總接受流量TrafficStats.getTotalRxBytes(),
獲取總發送流量TrafficStats.getTotalTxBytes());
獲取不包含WIFI的手機GPRS接收量TrafficStats.getMobileRxBytes());
獲取不包含Wifi的手機GPRS發送量TrafficStats.getMobileTxBytes());
統計某一個進程的總接收量TrafficStats.getUidRxBytes(Uid));
統計某一個進程的總發送量TrafficStats.getUidTxBytes(Uid));
這些獲取的流量都是從一次開機到讀取時刻的統計量。
所以,統計某一個程序的流量統計的時候,一定要注意開關機,和本次開機後是第幾次啟動本程序。
2 android的TrafficStats類
前四個讀取的/proc/net/dev裡面的數據
後面的兩個接口對某一個進程的流量統計的是/proc/uid_stat/*** 接口裡面的節點 數據
package cn.sunzn.trafficmanger;
import android.app.Activity;
import android.net.TrafficStats;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/** 獲取手機通過 2G/3G 接收的字節流量總數 */
TrafficStats.getMobileRxBytes();
/** 獲取手機通過 2G/3G 接收的數據包總數 */
TrafficStats.getMobileRxPackets();
/** 獲取手機通過 2G/3G 發出的字節流量總數 */
TrafficStats.getMobileTxBytes();
/** 獲取手機通過 2G/3G 發出的數據包總數 */
TrafficStats.getMobileTxPackets();
/** 獲取手機通過所有網絡方式接收的字節流量總數(包括 wifi) */
TrafficStats.getTotalRxBytes();
/** 獲取手機通過所有網絡方式接收的數據包總數(包括 wifi) */
TrafficStats.getTotalRxPackets();
/** 獲取手機通過所有網絡方式發送的字節流量總數(包括 wifi) */
TrafficStats.getTotalTxBytes();
/** 獲取手機通過所有網絡方式發送的數據包總數(包括 wifi) */
TrafficStats.getTotalTxPackets();
/** 獲取手機指定 UID 對應的應程序用通過所有網絡方式接收的字節流量總數(包括 wifi) */
TrafficStats.getUidRxBytes(uid);
/** 獲取手機指定 UID 對應的應用程序通過所有網絡方式發送的字節流量總數(包括 wifi) */
TrafficStats.getUidTxBytes(uid);
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Android OS下有幾個應用是集體的,包括(Android系統、設置存儲、設置、系統用戶界面、miui)
OS裡面的各個模塊的流量統計都算到OS 1000的流量,如果某一模塊出問題就不能夠揪出來,可以創建接口分別計算。
Lambda是第十一個希臘字母,大寫Λ,小寫λ,額,跑題了…Lambda表達式 是Java8的新特性之一: Lambda表達式 函數式接口 流API 默認方法
翻譯工作耗時費神,如果你覺得本文翻譯得還OK,請點擊文末的“頂”;如有錯訛,敬請指正。謝謝。 Eclip
1、Android httpserver 和 http調試 Android http server : httpcore PC http client : htt
ps:Espresso英文文檔,本人翻譯水平有限,可能存在不足Espresso的重要組成部分: 1.Espresso:通過onView()和onData()與view交互