① android 怎麼做流量統計
1、獲取已安裝app
java">List<PackageInfo>packageInfos=packageManager.getInstalledPackage(PackageManager.GET_PERMISSIONS);
2、循環對每個app判斷是否有申請INTERNET許可權,有則繼續執行
for(PackageInfopackageInfo:packageInfos){
if(packageInfo.requestedPermissions.contains("android.permission.INTERNET")){
//執行第3步的獲取
}
}
3、獲取該app的名字以及上傳/下載流量統計(先獲取該app在整個手機中的專屬id:uid,再通過TrafficStats的get方法獲取)
4、將獲取到的全部數據記錄到自定義的javabean,然後集合到list集合中,最後在listview中設置適配器,將數據顯示出來。
② android 系統怎麼統計流量源碼
1、獲取已安裝app
List<PackageInfo> packageInfos = packageManager.getInstalledPackage(PackageManager.GET_PERMISSIONS);
2、循環對每個app判斷是否有申請INTERNET許可權,有則繼續執行
for (PackageInfo packageInfo : packageInfos) { if (packageInfo.requestedPermissions.contains("android.permission.INTERNET")) { //執行第3步的獲取 }}
3、獲取該app的名字以及上傳/下載流量統計(先獲取該app在整個手機中的專屬 id:uid,再通過TrafficStats的get方法獲取)
4、將獲取到的全部數據記錄到自定義的javabean,然後集合到list集合中,最後在listview中設置適配器,將數據顯示出來。
③ 如何實現android累計流量統計
智能手機可以下載360衛士或者手機家,都可以累計和統計流量
④ 監控android終端流量,只計算wlan0嗎
一、通過pid獲取流量
獲取應用的pid adb shell ps | grep packagename
通過pid獲取該進程的流量信息 adb shell cat /proc/"+Pid+"/net/dev"
計算wlan0,所有列上傳和下載的流量之和
這里的wlan0代表wifi 下載上傳所有數據,數值單位是位元組,可以/1024換算成KB
註:由於pid只在app進程啟動時才能獲取,對獲取app啟動流量不太方便,多進程應用需要多個pid結果之和。
二、通過userId獲取流量
獲取應用的userId adb shell mpsys package packageName | findstr userId
通過uid獲取流量 adb shell cat /proc/net/xt_qtaguid/stats | findstr userId
計算wlan0行,第6列和第8列的和
與方法一不同的是,這里第6列和第8列,分別代表下載與上傳
註:通過userId還有另一種方法
adb shell cat /proc/uid_stat/userId /tcp_rcv
adb shell cat /proc/uid_stat/userId /tcp_snd
可分別獲取下載和上傳流量,適用Android 早期版本,但不能區分移動流量和wifi流量
三、通過tcpmp和wireshark計算流量
root機型下,把tcpmp工具push到sd卡
使用tcpmp命令,監控測試期間的流量,並生成pcap文件
導出pcap文件,並使用wireshark打開
過濾被app有關的數據,求和計算
⑤ Android如何統計一個進程的流量消耗呢
2.2之後引入了一個新的 android.net.TrafficStats類可以做到網路流量統計,可以統計總流量也可以統計單個進程的流量。
對於Android流量統計來說在2.2版中加入了TrafficStats類可以輕松獲取,其實本身TrafficStats類也是讀取Linux提供的文件對象系統類型的文本進行解析。android.net.TrafficStats類中,提供了多種靜態方法,可以直接調用獲取,返回類型均為long型,如果返回等於-1代表 UNSUPPORTED 當前設備不支持統計。
static long getMobileRxBytes() //獲取通過Mobile連接收到的位元組總數,但不包含WiFi
static long getMobileRxPackets() //獲取Mobile連接收到的數據包總數
static long getMobileTxBytes() //Mobile發送的總位元組數
static long getMobileTxPackets() //Mobile發送的總數據包數
static long getTotalRxBytes() //獲取總的接受位元組數,包含Mobile和WiFi等
static long getTotalRxPackets() //總的接受數據包數,包含Mobile和WiFi等
static long getTotalTxBytes() //總的發送位元組數,包含Mobile和WiFi等
static long getTotalTxPackets() //發送的總數據包數,包含Mobile和WiFi等
static long getUidRxBytes(int uid) //獲取某個網路UID的接受位元組數
static long getUidTxBytes(int uid) //獲取某個網路UID的發送位元組數
⑥ Android 中流量,電量,弱網環境怎麼測
用Charles工具做弱網的測試,或者模擬2G、3G的網路情況。
通過抓包是流量測試直接的方法。在App運行器件,把手機收發的所有報文抓取下來,在計算收發報文總大小,即app消耗的流量。如果我們需要測試某個app消耗 的流量需要禁用其他app的連網許可權。
1)限制其他app的連網許可權,因為有些app的進程是常駐後台的,即使不運行,也會有網路報文。可以藉助一些手機管家軟體禁用網路。
2)手機上抓包,下載tcpmp,手機鏈接電腦,獲得root許可權
3)將tcpmp(forAndroid)上傳至android手機上,在命令提示符窗口中輸入命令:adbpush <LocalPath of tcpmp> /data/local/tcpmp
4)給tcpmp增加可執行許可權
adb shell
su
chmod 6755 /data/local/tcpmp
5)啟動抓包,使用命令/data/local/tcpmp-v -i any -s 0 -w /sdcard/zhangyu.pcap
Got後面的數字表示當前抓到的包的數量。如果有變化,表示有網路流量
6)導出抓包結果adb pull /sdcard/zhangyu.pcap <LocalPathof PcapFile >
7)用Wireshark打開剛才的抓包結果,點擊StatisticsàSummary,流量的數值為Bytes一行的Displayed一欄。
⑦ 安卓手機系統後台流量怎麼計算的htc的手機為什麼好多人說後台流量高
安卓流量怎麼計算,先看你裝的什麼軟體了,一般的HTC moto和三星這樣一線大廠,他們得到了谷歌的授權,都會在ROM集成所謂GMS(谷歌移動服務,google mobile service),其中就有著名的谷歌地圖、天氣與資訊、GMAIL,GTALK,BUZZ,latitude等等,此外ROM還會集成2-3款輸入法,還有一些廠商自家的服務(例如HTC 的e-HUB),,確實是很方便。但是每一款程序它們都隨時與各自的伺服器隨時交換數據進行更新(更新天氣、資訊、詞庫、郵件、通信人等等)。那你說這樣流量大不大,安卓的手機只要開啟了GMS,一天3-5M的流量不算多,上網下載另算,這個是必須的。
嫌流量高了,用APN開關或者直接在setting裡面取消背景數據,都可以減低你的上網流量。不過離開了GMS的手機,還叫安卓嗎?
⑧ Android APP 流量統計常見的解決方案有哪些
針對移動開發者普遍遇到推廣難的問題,分享了其在從業過程中收集的一些經驗,希望能給各位開發者一些啟示。耗盡心力開發出來的App應用,用戶寥寥無幾,這是大部分移動開發者需要面對的問題。推廣就成了接下來必不可少的步驟。據統計,目前移動App推廣的渠道主要有:安卓應用商店/ AppStore、微博營銷、簡訊/彩信、預裝、CPC廣告平台、CPA積分牆、廣告宣傳、論壇博客推廣、ROM刷機、媒體宣傳以及線下推廣等。然而其中大部分推廣渠道,由於成本太高,對於無錢無勢的移動開發者是遙不可及的,如傳統SP方面的簡訊/彩信推廣、運營商或手機廠商的預裝、傳統廣告投放宣傳等等。應用市場是android開發者饒開不了的一道彎,也是開發者們的首選。資料顯示,目前市面上有近200家安卓應用商店,市場份額較大的有20家左右。由於App數量眾多,同質化嚴重,加上應用市場採用榜單式的呈現形式,排名高費用高,這使得強勢App越來越強,大部分開發者只能望洋興嘆。而對於ios開發者來說,蘋果App store的審核效率以及排名、刷榜等現象,也不得不忍受。傳統的社交推廣方式,如微博等,如果不是名人或者有名人力挺,那就很難引起大眾響應,而且這類推廣方式效果不持久。而像唱吧、大眾點評網、墨跡天氣等五款App應用上湖南衛視獲得傳統強勢媒體免費宣傳的機會,對於大部分移動開發者來說,那是可遇不可求。至於線下推廣,這不僅費時費力,而且自己辛苦教育培養的用戶很容易被對手吸引走,留存率不高。那麼,對於大部分沒有大量市場推廣費用的移動開發者來說,如何走出這些推廣困境呢?或許從傳統的個人站長在PC互聯網推廣的方式可以尋找到答案。一、網站提交。網站新建立後,一般需要到各大網址導航站、搜索引擎等免費提交申請收錄,如hao123、265、谷歌、搜搜等。這是不是跟您開發完成App提交到機鋒網、應用匯等應用市場有些類似呢。排名展示靠前都要收費,但也存在著機會,不能完全脫離。二、內容優化。站長一般會對自己網站首頁、頻道頁、內容頁等標題做一些關鍵詞布局優化。移動App應用的名字是否突出核心或者吸引人,有沒有為APP建立PC主頁,有沒有用心為上傳市場的APP寫好標題、描述、做好LOGO等,這些都是吸引用戶下載的細節關鍵。三、論壇推廣。站長為了讓自己的新網站盡量被各大搜索引擎收錄,吸引一批新用戶,會到各大相關論壇發帖、發軟文等宣傳。如果您是汽車方面的App,在您的應用人氣寥寥的時候,嘗試一下在各大汽車論壇下做些推廣,或者能累計一批新用戶。四、資源互換。當網站有PR或者流量後,個人站長的資源互換有友情鏈接、廣告聯盟、圖片鏈接等等。這種推廣用到移動App上,相對其它推廣渠道不僅省事省力,而且效果也不錯。比如交換廣告、插屏廣告等廣告形式,目前很多移動廣告平台都提供這樣的服務,通過這些廣告,你可以與不同的App相互推廣。這樣帶來的用戶是成熟的,存活率也高。另外wap站、瀏覽器等加的應用牆,以及CPA形式的積分牆,都是開發者可以利用推廣的渠道。五、口碑服務。毋容置疑,無論PC端和移動端都離不開口碑。